DBUtils是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用DBUtils能极大简化JDBC编码的工作量,同时也不会影响程序的性能。
DBUtils三个核心功能:
QueryRunner类,提供对sql语句操作的API;
ResultSetHandler接口,用于定义select操作后,怎样封装结果集;
DbUtils类,它是一个工具类,定义了关闭资源与处理事务的方法。
一、QueryRunner
使用QueryRunner类简化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
构造QueryRunner,
QueryRunner中一共有6种方法:
- execute(执行SQL语句)
- batch(批量处理语句)
- insert(执行INSERT语句)
- insertBatch(批量处理INSERT语句)
- query(SQL中 SELECT 语句)
- update(SQL中 INSERT,UPDATE,或 DELETE 语句)
我们主要介绍最后两种(最常用):
1、query方法
query方法的重载形式有很多种,常用的有两种形式:
(1)T query(String sql, ResultSetHandler<T> rsh) 不需要替换参数来执行给定的SELECT语句
(2)T query(String sql, ResultSetHandler<T> rsh, Object... params) 需要一个或多个替换参数来执行给定的SELECT语句,并返回一种对象结果。
2、update方法
(1)int update(Connection conn, String sql) 不需要替换参数来执行INSERT,UPDATE,DELETE语句(参数还需要一个连接)
(2)int update(Connection conn, String sql, Object... params) 需要一个或多个替换参数以及一个数据库连接来执行INSERT,UPDATE,DELETE语句(参数还需要一个连接)
(3)int update(Connection conn, String sql, Object param) 需要一个替换参数,以及一个数据库连接来执行INSERT,UPDATE,DELETE语句(参数还需要一个连接)
(4)int update(String sql) 不需要替换参数来执行给定的INSERT,UPDATE,DELETE语句(参数无需带有连接)
(5)int update(String sql, Object... params) 需要一个或多个替换参数来执行INSERT,UPDATE,DELETE语句(参数无需带有连接)
(6)int update(String sql, Object param) 不需要替换参数来执行INSERT,UPDATE,DELETE语句(参数无需带有连接)