什麼是連接池
數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重複使用一個現有的數據庫連接,而不再是重新建立一個;釋放,空閒時間,超過,最大空閒時間,的數據庫連接,以避免由於沒有釋放數據庫連接而引起的數據庫連接遺漏。
以下是步驟
第一步:在tomcat的conf目錄下找到context.xml文件,增加< Resource>元素
<Resource name="jdbc/news" auth="Container"
type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="sa"
password="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433"; DatabaseName=News"
/>
< Resource >元素屬性說明
name 指定Resource的JNDI名字
auth 指定管理Resource的Manager,它有兩個可選值:Container、Application
type 指定Resource所屬的Java類名
maxActive 指定數據庫連接池中處於活動狀態的最大連接數目,0表示不受限制
maxIdle 指定數據庫連接池中處於空閒狀態的最大連接數目,0表示不受限制
maxWait 獲取數據庫連接的最長等待時間,-1表示無限期等待
username 指定連接數據庫的用戶名
password 指定連接數據庫的口令
driverClassName 指定連接數據庫的JDBC驅動程序
url 指定連接數據庫的URL
第二步:在web應用程序的WEB-INF/web.xml文件中配置
<web-app>
<resource-ref>
<description>new DataSource</description>
<res-ref-name>jdbc/news</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
< resource-ref >元素屬性說明
description 對所引用的資源的說明
res-ref-name 指定所引用資源的JNDI名字,與< Resource >元素中的name屬性對應
res-type 指定所引用資源的類名字,與< Resource >元素中的type屬性對應
res-auth 指定所引用資源的Manager,與< Resource >元素中的auth屬性對應
第三步:JDBC驅動JAR文件複製到Tomcat的lib目錄下
第四步:使用DataSource
獲得對數據源的引用:
//初始化上下文
Context ctx = new InitalContext();
//獲取與邏輯名相關聯的數據源對象
//—jdbc/news—-就是第一步的JNDI名字
DataSource ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/news”);
//獲得數據庫連接對象:
Connection con = ds.getConnection();
返回數據庫連接到連接池:
con.close();
另外一種配置數據源的方式只需在web項目,WebRoot目錄下的META-INF目錄中,創建一個context.xml文件,添加節點,然後在節點中添加步驟1的元素內容