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