QueryRunner常用方法

孔德昌發表於2020-12-11

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

相關文章