QueryRunner的使用


了解QueryRunner之前要先了解為什么要使用它,它從何處來,為什么而存在。
其實這個是dbutils中的一個方法
什么是dbutils
它的出現就是封裝了jdbc的代碼,開發dao層代碼的簡單框架
框架的作用就是為你完成一些工作
dbutils是由apache公司提供的
為什么使用dbutils
在它出現之前在dao層中使用的技術是jdbc
(1)數據庫鏈接對象、sql語句操作對象,封裝結果集對象,這三大對象會重復定義
(2)封裝數據的代碼重復,而且操作復雜,代碼量大
(3)釋放資源的代碼重復
結果:(1)程序員在開發的時候,有大量的重復勞動。(2)開發的周期長,效率低

三:Dbutils三個核心類介紹:
1:DbUtils:連接數據庫對象----jdbc輔助方法的集合類,線程安全
構造方法:DbUtils()
作用:控制連接,控制書屋,控制驅動加載額一個類。

 

 2:QueryRunner:SQL語句的操作對象,可以設置查詢結果集的封裝策略,線程安全。
      構造方法:
      (1)QueryRunner():創建一個與數據庫無關的QueryRunner對象,后期再操作數據庫的會后,需要手動給一個Connection對象,它可以手動控制事務。
                Connection.setAutoCommit(false);     設置手動管理事務
                Connection.commit();     提交事務

      (2)QueryRunner(DataSource ds):創建一個與數據庫關聯的queryRunner對象,后期再操作數據庫的時候,不需要Connection對象,自動管理事務。
                DataSource:數據庫連接池對象。

      構造函數與增刪改查方法的組合:
 QueryRunner()
       update(Connection conn, String sql, Object... params)
       query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)

 QueryRunner(DataSource ds)     
       update(String sql, Object... params)
       query(String sql, ResultSetHandler<T> rsh, Object... params)

 

(3)ResultSetHandle:封裝數據的策略對象------將封裝結果集中的數據,轉換到另一個對象
策略:封裝數據到對象的方式(示例:將數據庫保存在User、保存到數組、保存到集合)
方法介紹:handle(ResultSet rs)
備注:詳解參考ResultSetHandle實現類

四:Dbutils快速入門
使用Dbutils注意事項:
(1)需要導入的jar包:①MySql驅動 ②c3p0包 ③DbUtils包
(2)添加c3p0配置文件
(3)可以自行添加一個JDBCUtils工具類:用來獲取c3p0連接池對象


c3p0和QueryRunner的結合使用:

  2.1:首先導包,如下所示的包;

    c3p0-0.9.1.2.jar
    commons-dbutils-1.6.jar
    mysql-connector-java-5.1.12-bin.jar  

   2.2:當然導包之前你需要創建好數據庫和數據表哦!~~~ 

      在src目錄下面記住配置c3p0-config.xml文件


<dependency>
	<groupId>commons-dbutils</groupId>
	<artifactId>commons-dbutils</artifactId>
	<version>1.6</version>
</dependency>


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM