java中配置数据库连接池总结

java中配置数据库连接池总结 
在tomcat下配置mysql数据源

1.1  配置server.xml 

在tomcat5.
0 --> conf --> server.xml的 < host ></ host > 标记中加入以下代码:

< Context path = " /hibernate_test "  reloadable = " true "  docBase = " E:\testeclipse\workspace\myhibernate_test\hibernate_test "  workDir = " E:\testeclipse\workspace\myhibernate_test\work " >
< Resource name = " jdbc/list "  auth = " Container "  type = " javax.sql.DataSource " />
  
< ResourceParams name = " jdbc/list " >
  
    
< parameter >
    
< name > factory </ name >
    
< value > org.apache.commons.dbcp.BasicDataSourceFactory </ value >
    
</ parameter >
    
    
< parameter >
    
< name > driverClassName </ name >
    
< value > org.gjt.mm.mysql.Driver </ value >  
    
</ parameter >
    
    
< parameter >
    
< name > url </ name >
    
< value > jdbc:mysql: // 10.71.0.187:8000/test?characterEncoding=gbk</value> 
     </ parameter >
    
    
< parameter >
    
< name > username </ name >
    
< value > omnipay </ value >
    
</ parameter >
    
    
< parameter >
    
< name > password </ name >
    
< value > omnipay </ value >
    
</ parameter >
    
    
< parameter >
    
< name > maxActive </ name >
    
< value > 20 </ value >
    
</ parameter >
    
    
< parameter >
    
< name > maxIdle </ name >
    
< value > 20 </ value >
    
</ parameter >
    
    
< parameter >
    
< name > maxWait </ name >
    
< value >- 1 </ value >
    
</ parameter >
  
</ ResourceParams >
</ Context >


或者在Tomcat 
5.0 \conf\Catalina\localhost目录下添加一个和web项目同名的一个xml文件,内容如下:

< Context path = " /list_test "  reloadable = " true "  docBase = " list_test " >
  
< Resource name = " jdbc/list "  auth = " Container "  type = " javax.sql.DataSource " />
  
< ResourceParams name = " jdbc/list " >
      
< parameter >
  
< name > factory </ name >
      
< value > org.apache.commons.dbcp.BasicDataSourceFactory </ value >
    
</ parameter >
  
< parameter >
    
< name > initialSize </ name >
    
< value > 5 </ value >
    
</ parameter >
    
< parameter >
    
< name > maxActive </ name >
    
< value > 20 </ value >
    
</ parameter >
    
< parameter >
    
< name > maxIdle </ name >
  
< value > 10 </ value >
    
</ parameter >
  
< parameter >
    
< name > minIdle </ name >
  
< value > 5 </ value >
    
</ parameter >
  
< parameter >
    
< name > timeBetweenEvictionRunsMillis </ name >
  
< value > 300000 </ value >
    
</ parameter >
    
< parameter >
    
< name > maxWait </ name >
      
< value > 10000 </ value >
    
</ parameter >
  
< parameter >
          
< name > removeAbandoned </ name >
          
< value > true </ value >
        
</ parameter >
  
< parameter >
          
< name > removeAbandonedTimeout </ name >
          
< value > 60 </ value >
        
</ parameter >
  
< parameter >
          
< name > logAbandoned </ name >
          
< value > false </ value >
        
</ parameter >
      
< parameter >
      
< name > username </ name >
      
< value > omnipay </ value >
      
</ parameter >
      
< parameter >
      
< name > password </ name >
      
< value > omnipay </ value >
      
</ parameter >
    
< parameter >
      
< name > driverClassName </ name >
      
< value > com.mysql.jdbc.Driver </ value >
    
</ parameter >
    
< parameter >
    
< name > url </ name >
  
< value > jdbc:mysql: // 10.71.0.187:8000/test?characterEncoding=gbk</value>
     </ parameter >
  
</ ResourceParams >
</ Context >


或者在struts_config.xml中添加以下代码:

< data - sources  >
  
< data - source key = " org.apache.struts.action.DATA_SOURCE "  type = " org.apache.commons.dbcp.BasicDataSourceFactory " >
    
< set - property property = " password "  value = " omnipay "   />
    
< set - property property = " minCount "  value = ""   />
    
< set - property property = " maxCount "  value = ""   />
    
< set - property property = " user "  value = " omnipay "   />
    
< set - property property = " driverClass "  value = " com.mysql.jdbc.Driver "   />
    
< set - property property = " description "  value = " jdbc/jndi "   />
    
< set - property property = " url "  value = " http://localhost:8000/test "   />
    
< set - property property = " readOnly "  value = " false "   />
    
< set - property property = " autoCommit "  value = " false "   />
    
< set - property property = " loginTimeout "  value = ""   />
  
</ data - source >
</ data - sources >

  
1.2  配置web.xml

在web.xml中添加以下代码:

< web - app >
< description > MySQL Test App </ description >
< resource - ref >
    
< description > DB Connection </ description >
    
< res - ref - name > jdbc / TestDB </ res - ref - name >
    
< res - type > javax.sql.DataSource </ res - type >
    
< res - auth > Container </ res - auth >
</ resource - ref >
</ web - app >




1.3  访问数据库的java代码
DbConnection.java

import  java.sql.Connection;
import  java.sql.SQLException;
import  javax.naming.Context;
import  javax.naming.InitialContext;
import  javax.sql.DataSource;
/** */ /**
* @date 2006-1-3
@author user 数据库连接的通用类
*/

public   final   class  DbConnection  {
  
private static DbConnection dbConn;
  
private DbConnection() throws SQLException {
  }

  
//获得数据库连接
  public synchronized Connection getConnection() throws SQLException {
    Connection con 
= null;
    
try {
        InitialContext ctx 
= new InitialContext();
        Context ct 
= (Context) ctx.lookup("java:comp/env");
        DataSource ds 
= (DataSource) ct.lookup("jdbc/omnipay");
        con 
= ds.getConnection();
    }
 catch (Exception e) {
        e.printStackTrace();
    }

    
return con;
  }

  
public static synchronized DbConnection getInstance() throws SQLException {
    
if (dbConn == null{
        dbConn 
= new DbConnection();
    }

    
return dbConn;
  }

}



写一个数据库访问类
  
1.4  写一个action类及jsp页面测试一下就OK了
 

转载于:https://www.cnblogs.com/ctfzh/archive/2008/01/09/1031683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值