数据库连接池


在Tomcat中配置数据库连接池
1.在tomcat安装目录下的conf的context.xml 的 <Context></Context>添加Resource项
 
<Context reloadable="true">  
    <WatchedResource>WEB-INF/web.xml</WatchedResource>  //原有的

    <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"    
       maxActive="100"    
       maxIdle="30"  
       maxWait="10000"  
       username="scott"    
       password="tiger"  
       driverClassName="oracle.jdbc.driver.OracleDriver"  
       url="jdbc:oracle:thin:@localhost:1521:ora9">  
      </Resource >
</Context>  
 
 
2.将用到的jdbc驱动类库导入到%Tomcat_Home%lib目录下
 
3.在web.xml文件中的web-app节点下加入如下代码形式:不配置也可以,应该是可选的。

<resource-ref>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>

4.在程序中的调用形式为:

Context context = new InitialContext();   
DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds");   
Connection conn = ds.getConnection();  

可以将上面的获取con的方法封装起来,供统一调用。

 

在项目中配置数据库连接池(两种方法)

第一种:使用Tomcat自带的DBCP数据源

在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,
添加相应的内容

<Context reloadable="true">  
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"    
       maxActive="100"    
       maxIdle="30"  
       maxWait="10000"  
       username="scott"    
       password="tiger"  
       driverClassName="oracle.jdbc.driver.OracleDriver"  
       url="jdbc:oracle:thin:@localhost:1521:ora9">  
      </Resource >
</Context> 


把数据库驱动jar包放在目录tomcat /lib里面

 

第二种:使用自己的DBCP数据源 
在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,
添加内容为:

<Context reloadable="true">  
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"

       factory="org.apache.commons.dbcp.BasicDataSourceFactory"    //需要多添加的属性

       maxActive="100"    
       maxIdle="30"  
       maxWait="10000"  
       username="scott"    
       password="tiger"  
       driverClassName="oracle.jdbc.driver.OracleDriver"  
       url="jdbc:oracle:thin:@localhost:1521:ora9">  
      </Resource >
</Context>


这样做的:可以把配置需要jar包(commons-dbcp.jar和commons-pool.jar)直接放在自己项目的WEB-INF目录的lib里面,和web容器(Tomcat)无关。

把数据库驱动jar包放在目录tomcat /lib里面

原文地址:https://www.cnblogs.com/live-fine/p/3181475.html