配置Tomcat自带的数据库连接池

配置数据源

1. 在Context元素中加入Resource元素。

修改Context的方法有很多种,这里我们选择在项目目录下的META-INFO创建context.xml文件来进行修改(这样的话这个数据源只是对此web应用有效)。

<Context>
    <Resource
            name="jdbc/xx"
            auth="Container"
            factory="org.apache.naming.factory.BeanFactory"
            type="com.mchange.v2.c3p0.ComboPooledDataSource"
            driverClass="com.mysql.jdbc.Driver"
            idleConnectionTestPeriod="60"
            maxPoolSize="50"
            minPoolSize="2"
            acquireIncrement="2"
            user="填写用户名"
            password="填写密码"
            jdbcUrl="jdbc:mysql://localhost:3306/填写要连接的数据库?参数" />
</Context>

name : 指定Resource的JNDI名字

auth:指定管理Resource的Manager,它有两个可选值:Container和

Application。Container表示容器来创建和管理Resource,Application表示由

Web应用来创建和管理Resource。

type:指定Resource所属的Java类名。

maxActive:指定数据库连接池中最大活跃的连接数。

maxIdle:指定数据库连接池中最大空闲的连接数。

url:指定连接数据库的url。

driverCLassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字。

2. 在web.xml中加入元素
如果Web应用访问了由Servlet容器管理的某个JNDI资源,那么必须在web.xml文件中声明对这个JNDI资源的引用。

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

resource-ref: 所引用的资源的JNDI名字,即Resource中的name属性

res-type:所引用资源的类的名字,即Resouce中的type

res-auth: 所引用的资源的Manager,即Resource中的auth

3.获取数据库连接池

 			Context context = new InitialContext();
            DataSource ds =(DataSource) context.lookup("java:comp/env/jdbc/xx");

4.关于JNDI(Java Naming and Directory Interface)
简单来说JNDI是一种将对象和名字绑定的技术,外部程序可以通过名字来获得某个对象的引用。

bing(Stirng name, Object object):将对象与一个名字绑定。
lookup(String name):返回与指定的名字绑定的对象。

猜你喜欢

转载自blog.csdn.net/qq_41374768/article/details/89070169