封装JDBC接入
本篇将要演示 FleaJDBCHelper 的使用,该工具类封装了基本的JDBC增删改查的操作,只需简单几步即可实现数据库操作。
准备工作
为了演示JDBC接入(参考 JPA接入 中的准备工作),需要如下准备:
- MySQL数据库 (客户端可以使用 navicat for mysql)
- 新建测试数据库 fleajpatest
- 新建测试表 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&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