數據庫連接池——概念簡述0

數據庫連接池

1、數據庫連接池的概念

用池來管理Connection,這可以重複使用Connection。有了池,所以我們就不用自己來創建Connection,而是通過池來獲取Connection對象。當使用完Connection後,調用Connection的close()方法也不會真的關閉Connection,而是把Connection“歸還”給池。池就可以再利用這個Connection對象了。

2、常用連接池

市場上有很成熟的連接池,像c3p0、dbcp等,不過Hibernate3.0及之後不再使用dbcp,說是有致命bug。就目前來看,還是c3p0在性能和穩定性上稍勝一籌,建議使用c3p0。

3、jdbc數據庫連接池接口(DataSource)

  Java爲數據庫連接池提供了公共的接口:javax.sql.DataSource,各個廠商可以讓自己的連接池實現這個接口。這樣應用程序可以方便的切換不同廠商的連接池!換句話說,只要實現了javax.sql.DataSource接口,就是一個連接池。

3.1池參數(所有池參數都有默認值)

  • 初始大小:10個
  • 最大連接數:20個
  • 最小空閒連接數:3個
  • 最大空閒連接數:12個
  • 增量:一次創建的最小單位(5個)
  • 最大的等待時間:1000毫秒

3.2四大連接參數

連接池也是使用四大連接參數來完成創建連接對象!數據庫驅動、url、用戶名、密碼

3.3實現的接口

連接池必須實現:javax.sql.DataSource接口!

連接池返回的Connection對象,它的close()方法與衆不同!調用它的close()不是關閉,而是把連接歸還給池!


DBCP連接池的連接池對象是BasicDataSource

Hibernate3.0之後使用c3p0連接池的 ComboPooledDataSource連接對象,

MyBatis使用PooledDataSource連接池對象,

SpringJdbcTemplate使用DriverManageDataSource連接池對象,

查看底層源碼,可以發現默認的連接池對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章