JDBC连接池C3P0,druid
生活随笔
收集整理的這篇文章主要介紹了
JDBC连接池C3P0,druid
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據庫連接池
什么是數據庫連接池:
- 將多個連接對象放在一個類似于list的集合中,做到需要用到連接的時候就去池子中獲取Connection連接對象,不用就放回池子中,不用頻繁的獲取連接池,關閉連接池.而是用時去池子中拿,不用就還回去
連接池的作用:
- 避免重復創建鏈接, 提升程序的執行效率
C3P0連接池
導包
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.12.jar
https://mvnrepository.com,可以在maven網站去下載
配置C3P0配置信息
注意:配置文件名稱一定要是:c3p0-config.xml,并且在src目錄下
運行結果
總結
由上面的代碼案列得知,當循環到第5次獲取連接對象的時候,就把鏈接對象還回給鏈接池了,后面鏈接就會拿到上一次還回去的對象,因為我們前面配置文件配置的是最大連接數量10,我們測試循環拿11次,如果不還回去就會報如下錯誤:因為最大連接數量是10,第11個獲取 連接對象的時候發現池子里沒有連接對象,就會等待我們上面配置文件中設置的多少時間.
關于C3P0就先了解到這里
druid連接池:
導包
去maven網站搜索druid下載復制在lib目錄下導入即可
配置druid的配置文件(是properties配置文件)
在src目錄下,名字隨便取:我這里叫:druid.properties
3.編寫代碼測試:
我這里druid測試的話是執行一條查詢語句,你也可以向上面一樣測試下連接對象,獲取超過了最大連接次數,然后看看有沒有重復的對象
public class DruidTest {public static void main(String[] args) throws Exception{//1.通過連接池工具類獲取一個數據庫連接Connection con = DataSourceUtils.getConnection();//通過連接對象獲取預編譯語句對象String sql = "SELECT * FROM student";PreparedStatement pst = con.prepareStatement(sql);//2.執行sql語句,接收結果集ResultSet rs = pst.executeQuery();//3.處理結果集while(rs.next()) {System.out.println(rs.getInt("sid") + "\t" + rs.getString("name") + "\t" + rs.getInt("age") + "\t" + rs.getDate("birthday"));}//4.釋放資源DataSourceUtils.close(con,pst,rs);} }** 執行結果**
總結
以上是生活随笔為你收集整理的JDBC连接池C3P0,druid的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDBC的入门案列以及JDBC的对事务的
- 下一篇: Cookie实现用户登录记住密码,实现自