再tomcat里配置连接池,设定好JNDI名,
然后再程序里
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jndi名");
然后再程序里
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jndi名");
<Resource name="jdbc/xxx" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/xxx">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.38.1:1521:ddd</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>
package my; import java.sql.*;
import java.io.*;
import javax.sql.*;
import javax.naming.*;
import oracle.jdbc.pool.*;
import oracle.jdbc.pool.OracleConnectionCacheImpl;public class oraConPool{
private OracleConnectionCacheImpl occi;
private String userId;
private String passWord;
public oraConPool(){}
public void init(String userId,String passWord){
try{
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
ocpds.setDriverType("oracle.jdbc.driver.OracleDriver");
ocpds.setURL("jdbc:oracle:thin:@localhost:1521:keqiao");
ocpds.setUser(userId);
ocpds.setPassword(passWord);
occi=new OracleConnectionCacheImpl(ocpds);
occi.setMinLimit (10);
occi.setMaxLimit (50);
occi.setCacheScheme(OracleConnectionCacheImpl.FIXED_RETURN_NULL_SCHEME);
}catch(Exception ex){
System.err.println("Error in PooledSQL-construct : ");
ex.printStackTrace(System.err);
}
}
public void setUserId(String userId){
this.userId=userId;
}
public void setPassWord(String passWord){
this.passWord=passWord;
}
synchronized Connection getConnection()throws SQLException{
Connection con=this.occi.getConnection();
//System.out.println(occi.getActiveSize());
//System.out.println(occi.getCacheSize());
return con;
}
}在网上看人家写的,然后自己改了一点。