欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

QueryRunner常用方法

程序员文章站 2022-04-07 18:08:32
maven依赖:commons-dbutilscommons-dbutils1.6

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语句。

本文地址:https://blog.csdn.net/by2233/article/details/111051923