Java操作數(shù)據(jù)庫(kù)連接池案例講解
數(shù)據(jù)庫(kù)連接池
概念:其實(shí)就是一個(gè)容器(集合),存放數(shù)據(jù)庫(kù)連接的容器。
-
概念:其實(shí)就是一個(gè)容器(集合),存放數(shù)據(jù)庫(kù)連接的容器。
當(dāng)系統(tǒng)初始化好后,容器被創(chuàng)建,容器中會(huì)申請(qǐng)一些連接對(duì)象,當(dāng)用戶來(lái)訪問(wèn)數(shù)據(jù)庫(kù)時(shí),從容器中獲取連接對(duì)象,用戶訪問(wèn)完之后,會(huì)將連接對(duì)象歸還給容器。 -
好處:
- 節(jié)約資源
- 用戶訪問(wèn)高效
-
實(shí)現(xiàn):
-
標(biāo)準(zhǔn)接口:DataSource javax.sql包下的
- 方法:
- 獲取連接:getConnection()
- 歸還連接:Connection.close()。如果連接對(duì)象Connection是從連接池中獲取的,那么調(diào)用Connection.close()方法,則不會(huì)再關(guān)閉連接了。而是歸還連接
- 方法:
-
一般我們不去實(shí)現(xiàn)它,有數(shù)據(jù)庫(kù)廠商來(lái)實(shí)現(xiàn)
- C3P0:數(shù)據(jù)庫(kù)連接池技術(shù)
- Druid:數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)技術(shù),由阿里巴巴提供的
-
Druid:數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)技術(shù),由阿里巴巴提供的
1. 步驟:
1. 導(dǎo)入jar包 druid-1.0.9.jar
2. 定義配置文件:
* 是properties形式的
* 可以叫任意名稱,可以放在任意目錄下
3. 加載配置文件。Properties
4. 獲取數(shù)據(jù)庫(kù)連接池對(duì)象:通過(guò)工廠來(lái)來(lái)獲取 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ù)庫(kù)連接池 DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); Connection conn = dataSource.getConnection(); //將該conn對(duì)象交還給連接池 conn.close(); } }
到此這篇關(guān)于Java操作數(shù)據(jù)庫(kù)連接池案例講解的文章就介紹到這了,更多相關(guān)Java操作數(shù)據(jù)庫(kù)連接池內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Java的JDBC API的存儲(chǔ)過(guò)程與SQL轉(zhuǎn)義語(yǔ)法的使用
- 詳解Java的JDBC API中事務(wù)的提交和回滾
- Java編程中使用JDBC API連接數(shù)據(jù)庫(kù)和創(chuàng)建程序的方法
- 在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫(kù)
- java數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟
- 詳解Java數(shù)據(jù)庫(kù)連接池
- Java數(shù)據(jù)庫(kù)連接池技術(shù)的入門教程
- Java JDBC API介紹與實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池流程
相關(guān)文章
SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離詳解
在高并發(fā)下需要對(duì)應(yīng)用進(jìn)行讀寫分離,配置多數(shù)據(jù)源,即寫操作走主庫(kù),讀操作則走從庫(kù),主從數(shù)據(jù)庫(kù)負(fù)責(zé)各自的讀和寫,緩解了鎖的爭(zhēng)用,提高了讀取性能,這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離的相關(guān)資料,需要的朋友可以參考下2022-07-07Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了Springboot整合mybatisplus時(shí),使用條件構(gòu)造器排序報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解
這篇文章主要介紹了Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解,RESTful API設(shè)計(jì)的最佳實(shí)踐是使用路徑參數(shù)來(lái)標(biāo)識(shí)一個(gè)或多個(gè)特定資源,而使用查詢參數(shù)來(lái)對(duì)這些資源進(jìn)行排序/過(guò)濾,需要的朋友可以參考下2024-01-01如何解決websocket開啟多個(gè)頁(yè)面訪問(wèn)同一個(gè)連接會(huì)失效的問(wèn)題
使用WebSocket時(shí),若多個(gè)頁(yè)面訪問(wèn)同一個(gè)WebSocket連接可能會(huì)導(dǎo)致連接失效,遇到這個(gè)問(wèn)題時(shí),可以通過(guò)在SpringBoot中使用@ServerEndpoint注解并添加@Component來(lái)解決,出現(xiàn)連接錯(cuò)誤通常是因?yàn)閃ebSocket連接接收到的是一個(gè)GET請(qǐng)求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)用的異步方法,不能為同一個(gè)類的方法(包括同一個(gè)類的內(nèi)部類),簡(jiǎn)單來(lái)說(shuō),因?yàn)镾pring在啟動(dòng)掃描時(shí)會(huì)為其創(chuàng)建一個(gè)代理類,而同類調(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)換為L(zhǎng)ist,本文主要介紹了Java集合List和Map互轉(zhuǎn)的方法總結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09