Java數(shù)據(jù)庫連接池技術(shù)的入門教程
池(Pool)技術(shù)在一定程度上可以明顯優(yōu)化服務(wù)器應(yīng)用程序的性能,提高程序執(zhí)行效率和降低系統(tǒng)資源開銷。數(shù)據(jù)庫連接池負責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而不是再重新建立一個;
數(shù)據(jù)庫連接池技術(shù)
基本概念:
數(shù)據(jù)庫連接池:其實就是一個容器(集合),存放數(shù)據(jù)庫連接的容器。 當(dāng)系統(tǒng)初始化好后,容器被創(chuàng)建,容器中會申請一些連接對象,當(dāng)用戶來訪問數(shù)據(jù)庫時,從容器中獲取連接對象,用戶訪問完之后,會將連接對象歸還給容器。
使用池化技術(shù)的好處:
1. 節(jié)約資源
2. 用戶訪問高效
3.提高程序性能和降低系統(tǒng)資源開銷
Java中定義的接口—DataSource接口提供激活框架與數(shù)據(jù)的任意集合的抽象。
常用方法:
獲取連接:getConnection()
歸還連接:Connection.close()。如果連接對象Connection是從連接池中獲取的,那么調(diào)用Connection.close()方法,則不會再關(guān)閉連接了。而是歸還連接
常用的數(shù)據(jù)庫連接池技術(shù)
C3P0
步驟:
1. 導(dǎo)入jar包 (兩個)
c3p0-0.9.5.2.jar、mchange-commons-java-0.2.12.jar ,
2. 定義配置文件:
名稱: c3p0.properties 或者 c3p0-config.xml
路徑:直接將文件放在src目錄下即可。
3. 創(chuàng)建核心對象 數(shù)據(jù)庫連接池對象 ComboPooledDataSource
4. 獲取連接: getConnection
代碼:
<c3p0-config> <!-- 使用默認(rèn)的配置讀取連接池對象 --> <default-config> <!-- 連接參數(shù) --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/db4</property> <property name="user">root</property> <property name="password">root</property> <!-- 連接池參數(shù) --> <!--初始化申請的連接數(shù)量--> <property name="initialPoolSize">5</property> <!--最大的連接數(shù)量--> <property name="maxPoolSize">10</property> <!--超時時間--> <property name="checkoutTimeout">3000</property> </default-config> </c3p0-config>
public static void main(String[]args)throws SQLException{ //1.獲取數(shù)據(jù)庫連接池對象 DataSource ds=new ComboPooledDataSource(); //2.獲取連接對象 Connection conn=ds.getConnection(); //3.打印 System.out.println(conn); //4.歸還資源 conn.close(); }
Druid:由阿里巴巴提供
步驟:
1. 導(dǎo)入jar包 druid-1.0.9.jar
2. 定義配置文件:
是properties形式的
可以叫任意名稱,可以放在任意目錄下
3. 加載配置文件。Properties
4. 獲取數(shù)據(jù)庫連接池對象:通過工廠來來獲取 DruidDataSourceFactory
5. 獲取連接:getConnection
代碼:
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///db3 username=root password=root # 初始化連接數(shù)量 initialSize=5 # 最大連接數(shù) maxActive=10 # 最大等待時間 maxWait=3000
public static void main(String[] args) throws Exception { //1.導(dǎo)入jar包 //2.定義配置文件 //3.加載配置文件 Properties pro = new Properties(); InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties"); pro.load(is); //4.獲取連接池對象 DataSource ds = DruidDataSourceFactory.createDataSource(pro); //5.獲取連接 Connection conn = ds.getConnection(); System.out.println(conn); }
總結(jié)
到此這篇關(guān)于Java數(shù)據(jù)庫連接池技術(shù)的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)庫連接池內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springcloud使用profile實現(xiàn)多環(huán)境配置方式
這篇文章主要介紹了springcloud使用profile實現(xiàn)多環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03SpringBoot集成Druid連接池進行SQL監(jiān)控的問題解析
這篇文章主要介紹了SpringBoot集成Druid連接池進行SQL監(jiān)控的問題解析,在SpringBoot工程中引入Druid連接池非常簡單,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-07-07Spring Cloud Feign的文件上傳實現(xiàn)的示例代碼
這篇文章主要介紹了Spring Cloud Feign的文件上傳實現(xiàn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03IDEA 2019.2.2配置Maven3.6.2打開Maven項目出現(xiàn) Unable to import Maven
這篇文章主要介紹了IDEA 2019.2.2配置Maven3.6.2打開Maven項目出現(xiàn) Unable to import Maven project的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12