Tomcat8配置数据库连接池

时间:2021-12-26 15:30:55

1、所有的tomcat项目共用一个连接池配置

1.1 修改conf->context.xml文件,在Context节点下配置

<Resource
name="jdbc/myDataSource"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
password="xx"
url="jdbc:sqlserver://127.0.0.1\\SQLEXPRESS:1433;DatabaseName=ShopSystem"
maxActive="4"/>

说明:

<!--name:DataSource的名称-->
<!--type:数据源对应的java类型,一般设计为javax.sql.DataSource-->
<!--username:数据库登陆名-->
<!--password:数据库登陆密码-->
<!--driverClassName:指定数据库JDBC驱动程序-->
<!--url:指定数据库的URL-->
<!--maxIdle:连接池处于空闲状态的数据库连接的最大数目,取0表示不受限制-->
<!--maxWait:连接池中数据库连接处于空闲状态的最长时间(以毫秒为单位),取0表示无限制等待时间-->
<!--maxActive:连接池处于活动状态的数据库连接的最大数目,去0表示不受限制-->

1.2 修改tomcat的web.xml文件

在web-app节点下配置:

<resource-ref>
<res-ref-name>jdbc/myDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

2、每个Web项目独立用自己的连接池配置

2.1 在Web项目的META-INF目录下创建context.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
<Resource
name="jdbc/myDS"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
password="xx"
url="jdbc:sqlserver://127.0.0.1\\SQLEXPRESS:1433;DatabaseName=ShopSystem"
maxActive="4"/>
</Context>

2.2  修改Web项目的WEB-INF目录下的web.xml文件

在web-app节点下配置:

<resource-ref>
<res-ref-name>jdbc/myDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

3、不管用上面哪种连接池,都需要把数据库驱动jar文件拷贝到tomcat的lib目录下

4、测试程序

<%
Context initContext=new InitialContext();
Context envContext=(Context)initContext.lookup("java:comp/env");
DataSource ds=(DataSource)envContext.lookup("jdbc/myDataSource");
Connection connection=ds.getConnection();
Statement statement=connection.createStatement();
ResultSet resultSet=statement.executeQuery("select * from admin");
while(resultSet.next()){
out.print(resultSet.getString("a_name"));
out.print("<br />");
}
resultSet.close();
statement.close();
connection.close();
%>