项目中用Tomcat自带连接池的配置数据库

来源:互联网 发布:pc炒股软件 编辑:程序博客网 时间:2024/05/23 01:14

有时候,我们会在项目中用到tomcat自身的连接池,这是我们项目没有用到像spring框架管理的第三方的连接池,比如之前我用到的c3pO和dbcp

这里我用的是apache-tomcat-7.0.34,自己用的是什么就拿什么,后面包版本对应就OK了。

配置的步骤:

(1)首先说一下,我项目中,要连接数据的入口:

一个连接池的java类:

package cn.com.jobedu.blog;

import org.apache.commons.dbutils.QueryRunner;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;


public class DbHelper {
public static QueryRunner getQueryRunner() {

DataSource ds = null;

try {

Context context = new InitialContext();
ds = (DataSource) context.lookup("java:/comp/env/jdbc/mysqlDB");
} catch (NamingException e) {
System.out.println("测试");
}

QueryRunner qr = new QueryRunner(ds);
return qr;


}
}

项目中是这样去连接数据源的,首先java:/comp/env/jdbc/是固定的参数。而mysqlDB是我的mysql数据库中的库名(我这里用的是mysql数据库 )

(2)首先找到你的D:\apache-tomcat-7.0.34 \conf目录(自己的tomcat的目录下)修改里面的context.xml 配置,打开,把里面的<Context>注释掉,换成:

<Context reloadable="true">  
    <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    <Resource name="jdbc/mysqlDB" auth="Container" type="javax.sql.DataSource"    
    maxActive="100"    
    maxIdle="30"  
    maxWait="10000"  
    username="root"    
    password="1234"  
    driverClassName="com.mysql.jdbc.Driver"  
    url="jdbc:mysql://localhost:3306/mysqlDB?characterEncoding=utf-8"/>  
</Context>  
其中mysqlDB是我的mysql的名字,其他的像密码和用户名,就是你自己的,驱动名和url也更加自己的配置,我这里只是mysql数据库的配置方法

接着还是D:\apache-tomcat-7.0.34 \conf目录下找到web.xml配置文件,只要在里面加上:

<resource-ref>
  <res-ref-name>jdbc/mysqlDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
 </resource-ref>
就好了,其中mysqlDB数据库名,type配置固定写法

(3)这个时候,也不要忘记了,在D:\apache-tomcat-7.0.34 \lib目录下,加上对应数据库的驱动包,如我这里加上的mysql-connector-java-5.1.21.jar

到这里tomcat的连接池就配置好了,有报错的情况,检查几个地方数据库的名字是否对应,还有就是你连接数据库的各个参数是否有写错,也别忘记导入驱动包了。这样的话,就可以在java中写sql语句操作数据库了。当然你的数据库里要有这个库,和操作的表。

以上是我自己的理解和操作。