Java dbcp連接池基本使用方法詳解
1、依賴(lài)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ù)庫(kù)連接 Connection connection=basicDataSource.getConnection(); System.out.println(connection); } catch (Exception e) { e.printStackTrace(); } }
2、依賴(lài)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ù)源的容器類(lèi)型--> auth='Container' type='javax.sql.DataSource' <!--最大連接數(shù)據(jù)庫(kù)連接對(duì)象的數(shù)量100--> maxActive='100' <!--最大空閑數(shù)是30--> maxIdle='30' <!--最大等待時(shí)間--> maxWait='10000' <!--數(shù)據(jù)庫(kù)用戶(hù)名--> username='root' <!--數(shù)據(jù)庫(kù)密碼--> password='123456' <!--數(shù)據(jù)庫(kù)驅(qū)動(dòng)--> driverClassName='com.mysql.cj.jdbc.Driver' <!--數(shù)據(jù)庫(kù)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(); //通過(guò)jndi命名服務(wù),找到數(shù)據(jù)源配置 DataSource ds = (DataSource) ctx.lookup('java:comp/env/jdbc/news'); //獲取數(shù)據(jù)庫(kù)連接 Connection connection = ds.getConnection(); if (!connection.isClosed()) {System.out.println('連接成功'); } } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)知識(shí)VBScript基本元素講解2. Python 利用Entrez庫(kù)篩選下載PubMed文獻(xiàn)摘要的示例3. Python 制作查詢(xún)商品歷史價(jià)格的小工具4. Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解5. Python3 json模塊之編碼解碼方法講解6. python 使用事件對(duì)象asyncio.Event來(lái)同步協(xié)程的操作7. Python sublime安裝及配置過(guò)程詳解8. Python 合并拼接字符串的方法9. Python插件機(jī)制實(shí)現(xiàn)詳解10. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條

網(wǎng)公網(wǎng)安備