在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没有什么分别。很简单的。 
|