• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
紫色幽灵
软件开发备忘录
博客园    首页    新随笔    联系   管理    订阅  订阅

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了
 

posted @ 2008-01-09 12:32  紫色幽灵  阅读(990)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3