1. 在tomcat服務器目錄下面的conf中找到一個叫Context.xml的配置文件,在其中加入以下代碼
<
Resource
name
="jdbc/books"
auth ="Container" type ="javax.sql.DataSource" maxActive ="100"
maxIdle ="30" maxWait ="10000" username ="sa" password ="120010"
driverClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url ="jdbc:sqlserver://localhost:1433;DatabaseName=news" />
auth ="Container" type ="javax.sql.DataSource" maxActive ="100"
maxIdle ="30" maxWait ="10000" username ="sa" password ="120010"
driverClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url ="jdbc:sqlserver://localhost:1433;DatabaseName=news" />
參數含義: JNDI (java naming and directory interface): Java 命名和目錄接口
name
|
指定
Resource
的
JNDI
名稱
|
auth
|
指定管理
Resource
的
Manager
(
Container
:由容器創
建和管理|
Application
:由
Web
應用創建和管理)
|
type
|
指定
Resource
所屬的
Java
類
|
maxActive
|
指定連接池中處於活動狀態的數據庫連接的最大數目
|
maxIdle
|
指定連接池中處於空閑狀態的數據庫連接的最大數目
|
maxWait
|
指定連接池中的連接處於空閑的最長時間,超過這個
時間會拋出異常,取值為-1,表示可以無限期等待
|
2. 第二步將 數據驅動.jar 放入tomcat目錄下的lib或common\lib下面
3. 第三步,打開應用程序的 Web.xml文件,添加以下配置
<
resource-ref
>
< res-ref-name >jdbc/books </ res-ref-name >
< res-type >javax.sql.DataSource </ res-type >
< res-auth >Container </ res-auth >
</ resource-ref >
< res-ref-name >jdbc/books </ res-ref-name >
< res-type >javax.sql.DataSource </ res-type >
< res-auth >Container </ res-auth >
</ resource-ref >
節點數據來源於Context.xml里面設置的數據
4. 在java文件中先導入以下包
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
將原來的數據庫連接操作
Class.forName("oracle.jdbc.driver.OracleDriver");
if( conn == null || conn.isClosed() )
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",
"system",
"accp");
if( conn == null || conn.isClosed() )
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",
"system",
"accp");
換成
Context c =
new InitialContext();
DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/books");
conn = ds.getConnection();
DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/books");
conn = ds.getConnection();
記得要捕獲 NamingException 與 SQLException 異常
使用連接池的好處是
數據庫操作性能得到提升
通過連接池管理數據庫的連接與釋放、提高了系統資源的使用效率