数据库池设置(转)

设置tomcat的环境变量:
假如你的tomcat直接解压到d:\tomcat下
设置TOMCAT_HOME d:\tomcat
设置CATALINA_HOME d:\tomcat (tomcat_home 和catalina_home二者之中最少要一个)
-----------------------------------------------------------------------------
设置tomcat的数据库连接池
修改tomcat的conf下的server.xml文件
在 <GlobalNamingResources>和 </GlobalNamingResources>之间加入以下内容:
<Resource name="jdbc/connectDB" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/connectDB"> <!-- 这里为数据源名称为jdbc/connectDB-->
<parameter>
<name>url</name> <!--这里为连接数据库url-->
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hcibe</value>
</parameter>
<parameter>
<name>maxIdle</name> <!--数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用然后被释放。设为0表示无限制。-->
<value>30</value>
</parameter>
<parameter>
<name>maxActive</name> <!--最大连接线程-->
<value>100</value>
</parameter>
<parameter>
<name>driverClassName</name> <!--jdbc连接类的名称-->
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxWait</name> <!--最大的等待时间为5秒-->
<value>5000</value>
</parameter>
<parameter>
<name>removeAbandoned</name><!--参数removeAbandoned来保证删除被遗弃的连接使其可以被重新利用-->
<value>true</value>
</parameter>
<parameter>
<name>username</name> <!--这里为登陆数据库的用户名-->
<value>test</value>
</parameter>
<parameter>

<name>removeAbandonedTimeout</name> <!--设置被遗弃的连接的超时的时间,即当一个连接连接被遗弃的时间超过设置的时间时 那么它会自动转换成可利用的连接。默认的超时时间是300秒。-->
<value>60</value>
</parameter>
<parameter>
<name>password</name> <!--这里为登陆数据库的密码-->
<value>test</value>
</parameter>
</ResourceParams>
-------------------------------------------------------------------------------------------------------------------------
设置了数据库连接池要在你的应用程序下的WEB-INF目录下的web.xml文件加入以下内容
<resource-ref>
<description>connectDB hcibe</description>
<res-ref-name>jdbc/connectDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

--------------------------------------------------------------------------------------------------------------
在tomcat下的\conf\Catalina\localhost文件夹下面一定要建站点的XML,比如你的项目的名称是Test,
那么在下面的话可以建一个Test.xml文件,这样的话就有可能不会出错的!如果不建的话,可能会
出现Cannot create JDBC driver of class '' for connect URL 'null'的错误!
------------------------------------------------------------------------------------------------------------
4) maxActive 连接池的最大数据库连接数。设为0表示无限制。
5) maxIdle 数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
6) maxWait 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
7) removeAbandoned 回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
8) removeAbandonedTimeout 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。
9) logAbandoned 将被遗弃的数据库连接的回收记入日志。
10) driverClassName JDBC驱动程序。
11) url 数据库连接字符串
下面是一下参数的必要说明:
1) description 对被引用的资源的描述。
2) res-ref-name 资源名称。见上面的<ResourceParams name="jdbc/connectDB">
3) res-type 资源类型。见上面的<Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/>
在写个调用的类
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
/**
* <p>Title: 数据库池连接</p>
*
* <p>Description: 数据库访问时调用该层获取数据库连接</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author jlin not attributable
* @version 1.0
*/
public class DbConn{
private Context ctx;
private Connection conn;
public DbConn(){
}
public Connection getConn(){
try{
ctx = new InitialContext();
if (ctx == null)
throw new Exception("没有匹配的环境");
DataSource ds = (DataSource) ctx.lookup(
"java:comp/env/jdbc/connectDB");
if (ds == null)
throw new Exception("没有匹配数据库");
conn = ds.getConnection();
}
catch(Exception e){
System.out.println("无法获取数据库连接:"+e.toString());
}
return conn;
}
public void close(){
try{
if(conn!=null)
conn.close();
if(ctx!=null)
ctx.close();
if(!conn.isClosed())
System.out.println("dbconn连接没关闭.....");
}
catch(Exception e){
System.out.println("关闭连接或Context异常:"+e.toString());
}
}
}

1.JNDI Name:数据源的JNDI名称,应用程序将根据这个名字来查找数据源。(任意)
2.Data Source URL:就是我们使用JDBC时的数据库URL。
3.JDBC Driver Class:数据库驱动程序类。
4.User Name::连接数据库的用户名。
5.Password:用户密码。可输入txgl
6.Max. Active Connections:最大活跃连接数,取默认值4,表示同时最多有4个数据
库连接。设为0表示无限制
7.Max. Idle Connections:最大的空闲连接数,取默认值2,表示即使没有数据库连接时
依然可以保持2个空闲的连接,而不被清除,随时处于待命状态。设为0表示无限制
8.Max. Wait for Connection:最大建立连接等待时间。如果超过此时间将接到异常。
取默认值5000,表示5秒后超时。设为-1表示无限制,直到超时为止
9.Validation Query:空
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值