Java dbcp連接池基本使用方法詳解
1、依賴api的使用
導(dǎo)入jar包
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.7.0</version> </dependency>
導(dǎo)入dbcp.properties配置文件
獲取連接
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Properties properties=new Properties(); //獲取dbcp配置文件對(duì)應(yīng)輸入流 InputStream inputStream=DbcpServlet.class.getClassLoader().getResourceAsStream("dbcp.properties"); //加載dbcp配置文件 properties.load(inputStream); BasicDataSource basicDataSource=null; try { //數(shù)據(jù)源對(duì)象 basicDataSource=BasicDataSourceFactory.createDataSource(properties); //獲取數(shù)據(jù)庫連接 Connection connection=basicDataSource.getConnection(); System.out.println(connection); } catch (Exception e) { e.printStackTrace(); } }
2、依賴tomcat容器的使用
利用jndi機(jī)制實(shí)現(xiàn),jndi(命名及目錄查找接口),將數(shù)據(jù)源連接池的配置信息在容器(Tomcat)實(shí)現(xiàn)配置
具體如何實(shí)現(xiàn)配置
在tomcat的context.xml文件加入數(shù)據(jù)源配置
<Resource <!--數(shù)據(jù)源名字--> name="jdbc/news" <!--驗(yàn)證數(shù)據(jù)源的容器類型--> auth="Container" type="javax.sql.DataSource" <!--最大連接數(shù)據(jù)庫連接對(duì)象的數(shù)量100--> maxActive="100" <!--最大空閑數(shù)是30--> maxIdle="30" <!--最大等待時(shí)間--> maxWait="10000" <!--數(shù)據(jù)庫用戶名--> username="root" <!--數(shù)據(jù)庫密碼--> password="123456" <!--數(shù)據(jù)庫驅(qū)動(dòng)--> driverClassName="com.mysql.cj.jdbc.Driver" <!--數(shù)據(jù)庫url--> url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&serverTimezone=GMT%2B8"/>
獲取連接
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { //獲取上下文對(duì)象 Context ctx = new InitialContext(); //通過jndi命名服務(wù),找到數(shù)據(jù)源配置 DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/news"); //獲取數(shù)據(jù)庫連接 Connection connection = ds.getConnection(); if (!connection.isClosed()) { System.out.println("連接成功"); } } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java數(shù)據(jù)庫連接池技術(shù)的入門教程
- Java 模擬數(shù)據(jù)庫連接池的實(shí)現(xiàn)代碼
- Java中Druid連接池連接超時(shí)獲取不到連接的解決
- Java數(shù)據(jù)庫連接池連接Oracle過程詳解
- Java數(shù)據(jù)庫連接池c3p0過程解析
- Java使用MySQL實(shí)現(xiàn)連接池代碼實(shí)例
- 如何解決線程太多導(dǎo)致java socket連接池出現(xiàn)的問題
- 淺談常用Java數(shù)據(jù)庫連接池(小結(jié))
- Java FTPClient連接池的實(shí)現(xiàn)
- Java 如何快速實(shí)現(xiàn)一個(gè)連接池
相關(guān)文章
Java別說取余(%)運(yùn)算簡單你真的會(huì)嗎
這篇文章主要介紹了Java別說取余(%)運(yùn)算簡單你真的會(huì)嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07如何解決SpringBoot定時(shí)任務(wù)報(bào)錯(cuò)Unexpected error occurred 
這篇文章主要介紹了如何解決SpringBoot定時(shí)任務(wù)報(bào)錯(cuò)Unexpected error occurred in scheduled task問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08配置hadoop環(huán)境mapreduce連接不上hdfs解決
這篇文章主要為大家介紹了配置hadoop環(huán)境mapreduce連接不上hdfs解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Springboot設(shè)置默認(rèn)訪問路徑方法實(shí)現(xiàn)
這篇文章主要介紹了Springboot設(shè)置默認(rèn)訪問路徑方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12