1.DbUtils工具包
DbUtils是一个用于简化JDBC操作的工具类,它封装了获取数据库连接、释放资源等常用的操作,并提供了一系列常用的数据库操作方法,如插入、更新、查询等。
使用DbUtils可以省去大量的样板代码,提高开发效率和代码的可读性,同时避免一些常见的错误,如未正确释放数据库连接等。
1.1Dbutils常用方法
// 获取数据库连接池
DataSource dataSource = DataSourceUtil.getDataSource();
// 创建QueryRunner对象
QueryRunner queryRunner = new QueryRunner(dataSource);
// 查询数据并返回结果
String sql = "SELECT * FROM users";
List<User> userList = queryRunner.query(sql, new BeanListHandler<>(User.class));
// 释放资源
DbUtils.closeQuietly(queryRunner);
2.DBUtils实现增删改查的类QueryRunner
2.1 update(Connection conn, String sql, Object... params)方法
执行增、删、改操作
// 创建QueryRunner对象
QueryRunner queryRunner = new QueryRunner();
// 定义插入语句
String insertSql = "INSERT INTO users (name, age) VALUES (?, ?)";
// 定义插入参数
Object[] insertParams = {"John Doe", 30};
// 执行插入操作,并返回受影响的行数
int insertResult = queryRunner.update(conn, insertSql, insertParams);
// 打印插入结果
System.out.println("Insert result: " + insertResult);
2.2 query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)方法
用于执行查询操作
// 创建QueryRunner对象
QueryRunner queryRunner = new QueryRunner();
// 定义查询语句
String querySql = "SELECT * FROM users";
// 执行查询操作,并将结果映射为User对象的List
List<User> userList = queryRunner.query(conn, querySql, new BeanListHandler<>(User.class));
2.2.1 query方法中结果处理集(ResultSetHandler)的子类
1.结果为单行多列 | |
ArrayHandler: | 将查询结果的第一行转换为对象数组 |
BeanHandler: | 将查询结果的第一行转换为指定的Java Bean对象 |
MapHandler: | 将查询结果的第一行转换为Map,其中键为列名,值为对应的值 |
2.结果为多行多列 | |
BeanListHandler: | 将查询结果的每一行转换为指定的Java Bean对象,并将这些对象存储在List中 |
ArrayListHandler: | 将查询结果的每一行转换为对象数组,并将这些数组存储在List中。 |
MapListHandler: | 将查询结果的每一行转换为Map,其中键为列名,值为对应的值,并将这些Map存储在List中 |
3.结果为单行单列 | |
ScalarHandler: | 将查询结果的第一行的第一个列转换为指定类型的单个值 |
4.结果为单列多行 | |
ColumnListHandler: | 将查询结果的指定列转换为List,每个元素都是该列的值 |