QueryRunner常用方法

子车才捷
2023-12-01

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语句。
 类似资料: