Java操作數(shù)據(jù)庫連接池案例講解
數(shù)據(jù)庫連接池
概念:其實(shí)就是一個容器(集合),存放數(shù)據(jù)庫連接的容器。
-
概念:其實(shí)就是一個容器(集合),存放數(shù)據(jù)庫連接的容器。
當(dāng)系統(tǒng)初始化好后,容器被創(chuàng)建,容器中會申請一些連接對象,當(dāng)用戶來訪問數(shù)據(jù)庫時(shí),從容器中獲取連接對象,用戶訪問完之后,會將連接對象歸還給容器。 -
好處:
- 節(jié)約資源
- 用戶訪問高效
-
實(shí)現(xiàn):
-
標(biāo)準(zhǔn)接口:DataSource javax.sql包下的
- 方法:
- 獲取連接:getConnection()
- 歸還連接:Connection.close()。如果連接對象Connection是從連接池中獲取的,那么調(diào)用Connection.close()方法,則不會再關(guān)閉連接了。而是歸還連接
- 方法:
-
一般我們不去實(shí)現(xiàn)它,有數(shù)據(jù)庫廠商來實(shí)現(xiàn)
- C3P0:數(shù)據(jù)庫連接池技術(shù)
- Druid:數(shù)據(jù)庫連接池實(shí)現(xiàn)技術(shù),由阿里巴巴提供的
-
Druid:數(shù)據(jù)庫連接池實(shí)現(xiàn)技術(shù),由阿里巴巴提供的
1. 步驟:
1. 導(dǎo)入jar包 druid-1.0.9.jar
2. 定義配置文件:
* 是properties形式的
* 可以叫任意名稱,可以放在任意目錄下
3. 加載配置文件。Properties
4. 獲取數(shù)據(jù)庫連接池對象:通過工廠來來獲取 DruidDataSourceFactory
5. 獲取連接:getConnection
import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.util.Properties; import javax.sql.DataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; public class MyJdbc13{ public static void main(String[] args)throws Exception { //Hashtable的子類 Properties properties = new Properties(); InputStream inStream = new FileInputStream("src/druid.properties"); properties.load(inStream); //數(shù)據(jù)庫連接池 DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); Connection conn = dataSource.getConnection(); //將該conn對象交還給連接池 conn.close(); } }
到此這篇關(guān)于Java操作數(shù)據(jù)庫連接池案例講解的文章就介紹到這了,更多相關(guān)Java操作數(shù)據(jù)庫連接池內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離詳解
在高并發(fā)下需要對應(yīng)用進(jìn)行讀寫分離,配置多數(shù)據(jù)源,即寫操作走主庫,讀操作則走從庫,主從數(shù)據(jù)庫負(fù)責(zé)各自的讀和寫,緩解了鎖的爭用,提高了讀取性能,這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離的相關(guān)資料,需要的朋友可以參考下2022-07-07Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯問題及解決
這篇文章主要介紹了Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解
這篇文章主要介紹了Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解,RESTful API設(shè)計(jì)的最佳實(shí)踐是使用路徑參數(shù)來標(biāo)識一個或多個特定資源,而使用查詢參數(shù)來對這些資源進(jìn)行排序/過濾,需要的朋友可以參考下2024-01-01如何解決websocket開啟多個頁面訪問同一個連接會失效的問題
使用WebSocket時(shí),若多個頁面訪問同一個WebSocket連接可能會導(dǎo)致連接失效,遇到這個問題時(shí),可以通過在SpringBoot中使用@ServerEndpoint注解并添加@Component來解決,出現(xiàn)連接錯誤通常是因?yàn)閃ebSocket連接接收到的是一個GET請求2024-09-09logback TimeBasedRollingPolicy按天生成日志源碼解析
這篇文章主要為大家介紹了logback TimeBasedRollingPolicy按天生成日志源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼
在分布式系統(tǒng)中,為了保證數(shù)據(jù)的一致性和任務(wù)的互斥執(zhí)行,分布式鎖是一種常見的解決方案,本文主要介紹了Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05SpringBoot中異步調(diào)用時(shí)的注意事項(xiàng)
這篇文章主要介紹了SpringBoot中異步調(diào)用時(shí)的注意事項(xiàng),調(diào)用的異步方法,不能為同一個類的方法(包括同一個類的內(nèi)部類),簡單來說,因?yàn)镾pring在啟動掃描時(shí)會為其創(chuàng)建一個代理類,而同類調(diào)用時(shí),還是調(diào)用本身的代理類的,所以和平常調(diào)用是一樣的,需要的朋友可以參考下2023-11-11Java中FileOutputStream流的write方法
這篇文章主要為大家詳細(xì)介紹了Java中FileOutputStream流的write方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Java集合List和Map互轉(zhuǎn)的方法總結(jié)
有時(shí)候我們需要將給定的List轉(zhuǎn)換為Map,或者M(jìn)ap轉(zhuǎn)換為List,本文主要介紹了Java集合List和Map互轉(zhuǎn)的方法總結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09