数据库连接学习(二)——Tomcat下使用C3P0配置JNDI数据源
来源:互联网 发布:别人要我电脑mac地址 编辑:程序博客网 时间:2024/06/05 00:31
一、C3P0下载
C3P0下载地址:http://sourceforge.net/projects/c3p0/files/?source=navbar
下载完成之后得到一个压缩包。
二、使用C3P0配置JNDI数据源
Tomcat6.x中配置JNDI数据源时默认使用的是Tomcat6.x自带的DBCP连接池,Tomcat6.x使用DBCP连接池配置JNDI数据源如下:
1 <Resource 2 name="oracleDataSource" 3 auth="Container" 4 type="javax.sql.DataSource" 5 maxActive="50" 6 maxIdle="10" 7 maxWait="10000" 8 username="lead_oams" 9 password="p" 10 driverClassName="oracle.jdbc.OracleDriver" 11 url="jdbc:oracle:thin:@192.168.1.229:1521:lead"/>
如果想让Tomcat6.x使用C3P0连接池配置JNDI数据源,在配置时,以下配置项需要修改
1、 type和factory的值发生变化
2、username=>user
3、url=>jdbcUrl
4、driverClassName=>driverClass
创建一个Web测试项目C3P0_JNDI_Config,解压压缩包,找到c3p0-0.9.5-pre9\lib目录下的相关Jar包如下图所示:
将C3P0的相关Jar包添加到项目中,在项目的META-INF目录下创建一个context.xml文件,目录结构如下图所示:
在tomcat服务器的lib目录下添加Oracle、MySQL、SQLServer三种数据库的驱动jar包,如下图所示:
1、在context.xml文件中加入如下配置信息
1 <Context> 2 <!-- 使用C3P0配置针对MySQL数据库的JNDI数据源 --> 3 <Resource 4 name="jdbc/MysqlDataSource" 5 auth="Container" 6 factory="org.apache.naming.factory.BeanFactory" 7 type="com.mchange.v2.c3p0.ComboPooledDataSource" 8 driverClass="com.mysql.jdbc.Driver" 9 idleConnectionTestPeriod="60"10 maxPoolSize="50" 11 minPoolSize="2"12 acquireIncrement="2" 13 user="root" 14 password="root"15 jdbcUrl="jdbc:mysql://192.168.1.144:3306/leadtest"/>16 17 <!-- 使用C3P0配置针对Oracle数据库的JNDI数据源 -->18 <Resource 19 name="jdbc/OracleDataSource" 20 auth="Container"21 factory="org.apache.naming.factory.BeanFactory" 22 type="com.mchange.v2.c3p0.ComboPooledDataSource"23 driverClass="oracle.jdbc.OracleDriver"24 idleConnectionTestPeriod="60"25 maxPoolSize="50" 26 minPoolSize="2"27 acquireIncrement="2" 28 jdbcUrl="jdbc:oracle:thin:@192.168.1.229:1521:lead"29 user="lead_oams"30 password="p"/>31 32 33 <!--使用C3P0配置针对SQLServer数据库的JNDI数据源-->34 <Resource 35 name="jdbc/SqlServerDataSource"36 auth="Container"37 factory="org.apache.naming.factory.BeanFactory" 38 type="com.mchange.v2.c3p0.ComboPooledDataSource"39 driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"40 idleConnectionTestPeriod="60"41 maxPoolSize="50" 42 minPoolSize="2"43 acquireIncrement="2" 44 jdbcUrl="jdbc:sqlserver://192.168.1.51:1433;DatabaseName=demo"45 user="sa" 46 password="p@ssw0rd"/>47 </Context>
2.在web.xml引用JDNI数据源:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 <welcome-file-list> 8 <welcome-file>index.jsp</welcome-file> 9 </welcome-file-list>10 11 <!-- 12 JNDI配置的资源引用:13 • res-ref-name:表示引用资源的名称14 • res-type:此资源对应的类型为javax.sql.DataSource15 • res-auth:容器授权管理16 -->17 <!--Oracle数据库JNDI数据源引用 -->18 <resource-ref>19 <description>Oracle DB Connection</description>20 <res-ref-name>jdbc/OracleDataSource</res-ref-name>21 <res-type>javax.sql.DataSource</res-type>22 <res-auth>Container</res-auth>23 </resource-ref>24 25 <!--MySQL数据库JNDI数据 -->26 <resource-ref>27 <description>MySQL DB Connection</description>28 <res-ref-name>jdbc/MysqlDataSource</res-ref-name>29 <res-type>javax.sql.DataSource</res-type>30 <res-auth>Container</res-auth>31 </resource-ref>32 33 <!--SQLServer数据库JNDI数据源引用 -->34 <resource-ref>35 <description>SQLServer DB Connection</description>36 <res-ref-name>jdbc/SqlServerDataSource</res-ref-name>37 <res-type>javax.sql.DataSource</res-type>38 <res-auth>Container</res-auth>39 </resource-ref>40 41 </web-app>
3.部署C3P0_JNDI_Config Web应用到Tomcat服务器测试JNDI数据源
部署到tomcat服务器的webapps目录之后,tomcat服务器就会自动在\conf\Catalina\localhost目录下生成一个C3P0_JNDI_Config.xml文件,如下图所示:
C3P0_JNDI_Config.xml文件中的内容就是我们在META-INF目录的context.xml文件中配置的那些内容。
- 数据库连接学习(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(3)——Tomcat下使用C3P0配置JNDI数据源
- JNDI学习总结(4)——Tomcat下使用Druid配置JNDI数据源
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- C语言面试题(1)
- erlang game
- 闭包 转
- C# 多态性
- sqlserver 自定义、删除、执行 函数和存储过程
- 数据库连接学习(二)——Tomcat下使用C3P0配置JNDI数据源
- Activity和Service之间通过handler传递数据
- [Android 性能优化系列]布局篇之通过<include>复用布局
- umeng第三方登陆授权 getPlatformInfo 无法获取 access_token
- 第三方分享的部分准备知识
- android大讲堂——listview详解
- URL中带加号的处理
- Java设计模式——原型模式
- linux sed指令的替换操作