maven依赖:
<!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
http://commons.apache.org/proper/commons-dbutils/
api文档
http://commons.apache.org/proper/commons-dbutils/apidocs/index.html
SQL没参数
public static void main(String[] args) throws SQLException {
//.1创建对象
QueryRunner queryRunner = new QueryRunner();
//2.编写sql 这个SQL没有条件,所以下面的query中不需要传参数
String sql = "Select * from tableName";
//3.执行SQL, 第二个参数 结果返回类型(MapHandler -- 返回单个Map)
queryRunner.query(sql,new MapHandler());
//3.执行SQL, 第二个参数 结果返回类型(ScalarHandler -- 返回列的头一个值)
queryRunner.query(sql,new ScalarHandler());
}
SQL有参数
public static void main(String[] args) throws SQLException {
//.1创建对象
QueryRunner queryRunner = new QueryRunner();
//2.编写sql 这个SQL 有条件,下面query 需要传参
String sql = "Select * from tableName where id = ?";
//2.1 sql语句ID定义
int id = 123;
//3.执行SQL, 第二个参数 结果返回类型(MapHandler -- 返回单个Map)
queryRunner.query(sql,new MapHandler(),id);
//3.执行SQL, 第二个参数 结果返回类型(ScalarHandler -- 返回列的头一个值)
queryRunner.query(sql,new ScalarHandler(),id);
//3.执行SQL, 第二个参数 结果返回类型(BeanHandler -- 返回自定义实体)
UserBean bean = queryRunner.query(sql, new BeanHandler<UserBean>(UserBean.class), id);
}
query方法中RequestSetHandler 类型列表
AbstractListHandler —————— 返回多行List的抽象类
ArrayHandler —————— 返回一行的Object[]
ArrayListHandler —————— 返回List,每行是Object[]
BeanHandler —————— 返回第一个Bean对象
BeanListHandler —————— 返回List,每行是Bean
ColumnListHandler —————— 返回一列的List
KeyedHandler ——————返回Map,具体见代码
MapHandler —————— 返回单个Map
MapListHandler —————— 返回List,每行是Map
ScalarHandler —————— 返回列的头一个值
int[] batch(Connection conn, String sql, Object[][] params)
执行一批SQL INSERT,UPDATE或DELETE查询。
int[] batch(String sql, Object[][] params)
执行一批SQL INSERT,UPDATE或DELETE查询。
int execute(Connection conn, String sql, Object... params)
执行一个SQL语句,包括一个存储过程调用,该语句不返回任何结果集。
<T> List<T> | execute(String sql, ResultSetHandler<T> rsh, Object... params)
执行一条SQL语句,包括一个存储过程调用,该语句返回一个或多个结果集。
| int | execute(String sql, Object... params) |
执行一个SQL语句,包括一个存储过程调用,该语句不返回任何结果集。
| <T> List<T> | execute(String sql, ResultSetHandler<T> rsh, Object... params) |
执行一条SQL语句,包括一个存储过程调用,该语句返回一个或多个结果集。
| <T> T | insert(Connection conn, String sql, ResultSetHandler<T> rsh) |
执行不带替换参数的SQL INSERT查询。
| <T> T | insert(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) |
执行一个SQL INSERT查询。
| <T> T | insert(String sql, ResultSetHandler<T> rsh) |
在不使用任何替换参数的情况下执行给定的INSERT SQL。
| <T> T | insert(String sql, ResultSetHandler<T> rsh, Object... params) |
执行给定的INSERT SQL语句。
| <T> T | insertBatch(Connection conn, String sql, ResultSetHandler<T> rsh, Object[][] params) |
执行给定的INSERT SQL语句批处理
| <T> T | insertBatch(String sql, ResultSetHandler<T> rsh, Object[][] params) |
执行给定的INSERT SQL语句批处理。
| <T> T | query(Connection conn, String sql, ResultSetHandler<T> rsh) |
执行没有任何替换参数的SQL SELECT查询。
| <T> T | query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) |
使用替换参数执行SQL SELECT查询。
| <T> T | query(String sql, ResultSetHandler<T> rsh) |
在不使用任何替换参数的情况下执行给定的SELECT SQL。
| <T> T | query(String sql, ResultSetHandler<T> rsh, Object... params) |
执行给定的SELECT SQL查询并返回结果对象。
| int | update(Connection conn, String sql) |
在不使用替换参数的情况下执行SQL INSERT,UPDATE或DELETE查询。
| int | update(Connection conn, String sql, Object... params) |
执行SQL INSERT,UPDATE或DELETE查询。
| int | update(Connection conn, String sql, Object param) |
使用单个替换参数执行SQL INSERT,UPDATE或DELETE查询。
| int | update(String sql) |
执行给定的INSERT,UPDATE或DELETE SQL语句,不带任何替换参数。
| int | update(String sql, Object... params) |
执行给定的INSERT,UPDATE或DELETE SQL语句。
| int | update(String sql, Object param) |
使用单个替换参数执行给定的INSERT,UPDATE或DELETE SQL语句。