MySQL和Tomcat连接池设定
1. 概要
对于WEB系统的用户量及数据库的连接频度,决定数据库的连接方式。对于大型的应用系统,都应该使用连接池。
本文对MySQL和Tomcat的连接方法简要说明。
2. 数据库连接池的原理
数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。
如:外部使用者可通过getConnection方法获取连接,使用完毕后再通过releaseConnection方法将连接返回,注意此时连接并没
有关闭,而是由连接池管理器回收,并为下一次使用做好准备,这样既避免了频繁的数据库连接,又解放了应用系统对数据库连接
的维护,提高了开发效率。
3. 连接池的设定
3.1 JDBC jar配置
配置Tomcat需要使用的JDBC驱动jar包复制在Tomcat目录下lib文件夹下,本例使用mysql-connector-java-5.1.38-bin.jar
3.2 配置Context.xml文件
打开Tomcat目录下conf文件夹下的context.xml文件,将下面代码添加到Context标签内
<Resourcename=”jdbc/mysql”
auth=”Container”
type=”javax.sql.DataSource”
driverClassName=”com.mysql.jdbc.Driver”
url=”jdbc:mysql://localhost:3306/数据库名”
username=”数据库用户名”
password=”密码”
maxActive=”100″
maxIdle=”30″
maxWait=”10000″
/>
3.3 参数说明
maxIdle,最大空闲数,指定数据库连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制;
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait,最大建立连接等待时间 单位为ms。如果超过此时间将接到异常。设为-1表示无限制。
maxActive是最大激活连接数,设置成可能的并发量,这里取值为100,表示同时最多有100个数据库连接。maxIdle是最大的空闲连接数,这里取值为30,表示即使没有数据库连接时依然可以保持30空闲的连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值10000,表示10秒后超时,直到超时为止,也可取值-1,表示无限等待。
3.4 配置web应用WEB-INF\web.xml(使用JDK1.6以后版本的可以略过此步骤)
打开web.xml文件,在其根节点下添加数据源的引用设置。
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.5 JAVA的连接代码
importjava.sql.*;
import javax.sql.*;
import javax.naming.*;
try{
InitialContextctx= new InitialContext();
DataSourceds=(DataSurce)ctx.lookup(“java:comp/env/jdbc/mysql”);
Connectionconn= ds.getConnection();
Statementstmt= conn.createStatement();
String strSql =“select * from langsheng”;
………….
}
4. 连接完成,测试。