在tomcat中配置连接池
1.打开server.xml:在<Context > </Contex>中添加如下连接池参数语句,一个完整的例子如下:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="E:\Projects\ColorRing\wap" path="/wap" reloadable="true">
<Resource name="jdbc/wapOracle" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/wapOracle"> <!--这里name的值必须与Resource里的name的值相同-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@172.18.51.101:1521:sundb</value> <!--连接数据库的url-->
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>0</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>username</name> <!--用户名-->
<value>cms_user</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<parameter>
<name>password</name> <!--密码-->
<value>12345</value>
</parameter>
</ResourceParams>
</Context>
2.打开工程下的WEB-INF/web.xml,添加如下部分:
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/wapOracle</res-ref-name> <!--这里name的值也必须与server.xml中的Resource里的name的值相同-->
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.然后写连接数据库的语句:
package util;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class OracleDB {
String url_ = "192.168.1.41:1521:gxcring";
//String url_ = "172.18.51.101:1521:SUNDB";
String id_ = "cms_user";
String pass_ = "12345";
Connection conn = null;
Statement stmt = null;
public OracleDB() {
try {
//Class.forName("oracle.jdbc.driver.OracleDriver");
//conn = DriverManager.getConnection("jdbc:oracle:thin:@" + url_, id_, pass_);
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/wapOracle"); //注意这里的名字与配置文件里的名字相同就行了。
conn = ds.getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (NamingException ne) {
System.out.println("Initial DataSource error.");
ne.printStackTrace();
} catch (SQLException e) {
System.out.println("ORACLE: " + e);
e.printStackTrace();
}
}
/**
* 返回Connction对象
* @param none
* @return Connction
*/
public Connection getConn() {
return this.conn;
}
}
呵呵。这样就行啦, 在其它地方调用数据库时与用JDBC没有什么分别。很简单的。