flea-frame-db使用之封装JDBC接入

封装JDBC接入

本篇将要演示 FleaJDBCHelper 的使用,该工具类封装了基本的JDBC增删改查的操作,只需简单几步即可实现数据库操作。

准备工作

为了演示JDBC接入(参考 JPA接入 中的准备工作),需要如下准备:

  1. MySQL数据库 (客户端可以使用 navicat for mysql)
  2. 新建测试数据库 fleajpatest
  3. 新建测试表 student

接入讲解

1. JDBC数据源配置

数据源配置独立出来,定义在flea-config.xml中,可添加多个。

<?xml version="1.0" encoding="UTF-8"?>

<flea-config>

	<!-- 其他配置省略 -->
    <config-items key="mysql-fleajpatest" desc="JDBC数据库配置【key=数据库系统-数据库或数据库用户】">
        <config-item key="driver" desc="mysql数据库驱动名">com.mysql.jdbc.Driver</config-item>
        <config-item key="url" desc="mysql数据库连接地址">jdbc:mysql://localhost:3306/fleajpatest?useUnicode=true&amp;characterEncoding=UTF-8</config-item>
        <config-item key="user" desc="mysql数据库登录用户名">root</config-item>
        <config-item key="password" desc="mysql数据库登录密码">root</config-item>
    </config-items>

</flea-config>

2. JDBC新增数据

	@Test
    public void testStudentInsert() throws Exception {
    
    
    	// 初始化数据库配置,用于获取具体操作数据源
        FleaJDBCConfig.init(DBSystemEnum.MySQL.getName(), "fleajpatest");

        String sql = "insert into student(stu_name, stu_age, stu_sex, stu_state) values(?, ?, ?, ?)";

        List<Object> paramList = new ArrayList<Object>();
        paramList.add("huazie");
        paramList.add(25);
        paramList.add(1);
        paramList.add(1);

        int ret = FleaJDBCHelper.insert(sql, paramList);

        LOGGER.debug("RESULT = {}", ret);
    }

执行结果:
在这里插入图片描述

3. JDBC查询数据

这里的查询语句,可以是复杂SQL,返回结果 List<Map<String, Object>>

	@Test
    public void testStudentQuery() throws Exception {
    
    
        FleaJDBCConfig.init(DBSystemEnum.MySQL.getName(), "fleajpatest");

        String sql = "select * from student where stu_state = ?";

        List<Object> paramList = new ArrayList<Object>();
        paramList.add(1);

        LOGGER.debug("RESULT LIST = {}", FleaJDBCHelper.query(sql, paramList));
    }

执行结果:
在这里插入图片描述

	@Test
    public void testStudentSingleQuery() throws Exception {
    
    
        FleaJDBCConfig.init(DBSystemEnum.MySQL.getName(), "fleajpatest");

        String sql = "select count(*) from student where stu_state = ?";

        List<Object> paramList = new ArrayList<Object>();
        paramList.add(1);

        LOGGER.debug("COUNT = {}", FleaJDBCHelper.querySingle(sql, paramList));
    }

执行结果:
在这里插入图片描述

4. JDBC更新数据

	@Test
    public void testStudentUpdate() throws Exception {
    
    
        FleaJDBCConfig.init(DBSystemEnum.MySQL.getName(), "fleajpatest");

        String sql = "update student set stu_state = ? where stu_name = ?";

        List<Object> paramList = new ArrayList<Object>();
        paramList.add(2);
        paramList.add("huazie");

        int ret = FleaJDBCHelper.update(sql, paramList);

        LOGGER.debug("RESULT = {}", ret);
    }

执行结果:
在这里插入图片描述

5. JDBC删除数据

    @Test
    public void testStudentDelete() throws Exception {
    
    
        FleaJDBCConfig.init(DBSystemEnum.MySQL.getName(), "fleajpatest");

        String sql = "delete from student where stu_name = ? and stu_state = ? ";

        List<Object> paramList = new ArrayList<Object>();
        paramList.add("huazie");
        paramList.add(2);

        int ret = FleaJDBCHelper.delete(sql, paramList);

        LOGGER.debug("RESULT = {}", ret);
    }

执行结果:
在这里插入图片描述
相关内容可以移步 GitHub, 查看 StudentJDBCTest.java

猜你喜欢

转载自blog.csdn.net/u012855229/article/details/102015818
今日推荐