qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Tomcat配置数据库连接池

本例为myeclipse+tomcat7.0+sqlserver2008配置数据库连接池
  具体步骤:
  1、在server.xml中设置数据源,以sql server 2008数据库为例,如下:
  在<GlobalNamingResources> </GlobalNamingResources>节点中加入,
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password="aaaaaa"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:sqlserver://localhost:1433;DataBaseName=COFFEE"
maxActive="4"/>
  属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;
  type,”javax.sql.DataSource”;
  password,数据库用户密码;
  driveClassName,数据库驱动;
  maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
  MaxActive,连接池的最大数据库连接数。设为0表示无限制。
  maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
  2、在你的web应用程序的web.xml中设置数据源参考,如下:
  在<web-app></web-app>节点中加入,
<resource-ref>
<description>DB Connection Pool</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
  子节点说明: description,描述信息;
  res-ref-name,参考数据源名字,同上一步的属性name;
  res-type,资源类型,”javax.sql.DataSource”;
  res-auth,”Container”;
  res-sharing-scope,”Shareable”;3、在tomcat目录下的context.xml中设置数据源链接,如下:
  在<Context></Context>中加入:
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"/>
  属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;
  type,同样取”javax.sql.DataSource”;
  global,同name值。
  4、测试:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class Test {
private static DataSource pool;
public static void main(String[] args) {
Context env = null;
try {
env = (Context) new InitialContext().lookup("java:comp/env");
pool = (DataSource)env.lookup("jdbc/DBPool");
if(pool==null)
System.err.println("'DBPool' is an unknown DataSource");
} catch(NamingException ne) {
ne.printStackTrace();
}
Connection conn;
try {
conn = pool.getConnection();
String sql = "select * from allbook";
PreparedStatement ps;
ps = conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()){
System.out.println(rs.getString("BOOKNAME"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}

posted on 2014-05-19 10:16 顺其自然EVO 阅读(286) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜