JavaWeb Advance Chapter 6 ConnectionPool and DataSource
目标:
为了解决以前那种老方法中的用户访问一次数据就要连接一次数据库的问题,
就有了连接池这个东西了~我用的呢是TomCat的连接池,具体的方法如下
1.首先建立一个DBUtil
pubic class DBUtil{
private static DataSource ds=null;
//这个呢是java中的静态语句块,他会是整个类中最先执行并且只执行一次的东西
static{
try{
//得到Context对象
Context ctx=new InitialContext();
//注意lookUp中的参数中"java:comp/env/"是不变的,后边的就是Context.xml文件中配置的名字了
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/master");
}catch(Exception e){}
}
//获取连接
public Connection getConn(){
try{
return ds.getConnection();
}catch(Exception e){}
}
}
2.类写好后接下来就是配置Context.xml文件了,在TomCat的conf目录下找到
context.xml,打开,进行编辑,在<context></context>标签中添加内容
<Context>
<Resource
//名称
name="jdbc/master"
//连接数据库的用户名和密码
username="sa" password="123456"
//数据库端口和名称
url="jdbc:sqlserver://localhost:1433;databaseName=master"
//驱动
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
//初始化条数
initialSize="30"
//最大空闲数/连接数/等待时间
maxIdle="30" maxActive="0" maxWait="10000"
//数据类型
type="javax.sql.DataSource"
/>
</Context>
3.文件配置好了过后就是sqljdbc.jar文件的导入了!
a)如果是tomcat的服务器那么就可以把jar文件放到tomcat目录下的lib目录下中
b)如果是MyEclipse自带的服务器就没有lib文件夹,这时候要这样做:
在菜单中:Windows-Prefreneces-MyEclipse-Servers-integrated Sandbox-MyEclipse Tomcat-Path,
在第一个栏目中点击Add找到sqljdbc.jar文件导入即可
c)如果租用的服务器中无法找到Conf目录下的context.xml文件,那么可以直接把context.xml文件放到
WebRoot/META-INF/目录下依然可以实现效果
4.完毕了~经过我本人测试,以十万条连接来作为测试内容,很明显的可以看出速度真的提高了不少!
使用了静态语句块后速度又快了不少(大约十倍)!



上图就是用于测试十万条数据的循环语句
<!--
Author:Lovingshu's Forever
Date:2011.09.16
Remark:The Review of the JavaWeb_Advance Chapter6:The ConnectionPool and DataSource
-->