【知了堂學習心得】淺談c3p0連接池和dbutils工具類的使用


1. C3P0概述

C3P0是一個開源的JDBC連接池它實現了數據源和JNDI綁定,支持JDBC3規范和JDBC2的標准擴展。目前使用它的開源項目Hibernate,Spring等。

2. C3P0工具包下載地址

https://sourceforge.net/projects/c3p0/files/latest/download?source=files

導入jdbc和c3p0的jar包

jdbc包:mysql-connector-java-5.1.24-bin.jar

c3p0包:c3p0-0.9.5.2-sources.jar

C3p0輔助包:mchange-commons-java-0.2.11.jar

3. C3P0配置

 

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

<!--配置連接池mysql-->
<named-config name="c3p0-config">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/music_sys</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 初始化連接池時建立多少個連接 -->
<property name="initialPoolSize">5</property>
<!-- 最大空閑時間,60秒內未使用則連接被丟棄。若為0則永不丟棄。 -->
<property name="maxIdleTime">60</property>
<!-- 連接池中保留的最大連接數 -->
<property name="maxPoolSize">10</property>
<!-- 連接池中保留的最小連接數 -->
<property name="minPoolSize">5</property>
<!-- 最大連接數 -->
<property name="maxStatements">20</property>
</named-config>

</c3p0-config>

4. 創建C3p0Utils工具類

 

5. DBUtils工具類庫的使用

DBUtils包下載地址:http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi

1)導包:commons-dbutils.jar

2)核心類:QueryRunner

3)常用方法:

 

4)ResultSetHandler接口的實現類

單行結果: BeanHandler(), 構造器需要一個 Class 類型的參數, 用來把一行結果轉換成指定類型的 javaBean 對象;

多行結果: BeanListHandler(), 構造器需要一個 Class 類型的參數, 用來把一行結果轉換成一個 javaBean,若是多行結果, 就轉換成 List 對象, 即多個 javaBean;

單行結果: MapHandler(), 把一行結果轉換成 Map;

多行結果: MapListHandler(), 把一行記錄轉換成一個 Map, 若是多行, 就是多個 Map, 即 List;

單行單列: ScalarHandler(), 結果集是單行單列的, 返回一個 Object.

6.QueryRunner中的連接關閉問題

傳入Connection時,需要手動關閉連接

如:操作多條SQL語句時,就必須手動獲取連接和關閉連接(事務管理)

傳入DataSource時,連接會自動關閉

如:操作一條SQL語句時使用

 

溫馨提示:如需了解更多Java學習知識,請前往知了堂學習社區

www.zhiliaotang.com


免責聲明!

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



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