tomcat 连接多个数据源
来源:互联网 发布:耳机煲机的音乐知乎 编辑:程序博客网 时间:2024/06/05 08:08
Tomcat配置多数据源
测试的tomcat为apache-tomcat-6.0.18 ,数据库为mysql和oracle。
配置步骤如下:
1、把数据库的JDBC驱动放入D:\apache-tomcat-6.0.18\lib目录下
2、在D:\apache-tomcat-6.0.18\conf\web.xml文件中,将下面代码加入到web.xml中:
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
3、在D:\apache-tomcat-6.0.18\conf\server.xml文件中,在Host节点下添加Context子节点,配置如下
<Context path="/ljqtest" docBase="ljqtest" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/mysql" type="javax.sql.DataSource" username="root" password="mysql" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/shop" maxIdle="2" maxWait="50" maxActive="4"> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> </Resource> <Resource name="jdbc/oracle" type="javax.sql.DataSource" username="test" password="test" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:ORCL" maxIdle="2" maxWait="50" maxActive="4"> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> </Resource> </Context> </Host>
或者
<Context path="/uimcardprj" docBase="uimcardprj" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/ycxkDB" type="javax.sql.DataSource" username="ycxk" password="xmzh" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 134.128.48.250)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))" maxIdle="2" maxWait="50" maxActive="4"> </Resource> </Context> </Host>
注意:path为D:\apache-tomcat-6.0.18\webapps目录下的工程名称
4、把web工程项目部署在D:\apache-tomcat-6.0.18\webapps目录下
MysqlConn类:获取Mysql数据源
package com.ljq.test;import java.sql.Connection;import java.sql.SQLException;import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;public final class MysqlConn { // 懒汉式单例(使用时才new) private static MysqlConn instance = null; MysqlConn() { } // 延迟初始化(用到的时候才加载)(推荐) // public static synchronized JdbcConn // getInstance(){}->这样不好,因为每调用一次就同步,效率非常低 public static MysqlConn getInstance() { if (instance == null) { synchronized (MysqlConn.class) {// 可能会产生并发的问题,我们对他进行同步 if (instance == null) { instance = new MysqlConn(); } } } return instance; } private DataSource getDataSource() { DataSource ds = null; try { Context ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql"); } catch (Exception e) { System.out.println("数据源获取失败"); e.printStackTrace(); } return ds; } public Connection getConn() { Connection conn = null; try { conn = getDataSource().getConnection(); } catch (SQLException e) { System.out.println("数据库连接失败"); e.printStackTrace(); } return conn; }}
OraclelConn类:获取Oracle数据源
package com.ljq.test;import java.sql.Connection;import java.sql.SQLException;import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;public final class OracleConn { // 懒汉式单例(使用时才new) private static OracleConn instance = null; OracleConn() { } // 延迟初始化(用到的时候才加载)(推荐) // public static synchronized JdbcConn // getInstance(){}->这样不好,因为每调用一次就同步,效率非常低 public static OracleConn getInstance() { if (instance == null) { synchronized (OracleConn.class) {// 可能会产生并发的问题,我们对他进行同步 if (instance == null) { instance = new OracleConn(); } } } return instance; } private DataSource getDataSource() { DataSource ds = null; try { Context ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql"); } catch (Exception e) { System.out.println("数据源获取失败"); e.printStackTrace(); } return ds; } public Connection getConn() { Connection conn = null; try { conn = getDataSource().getConnection(); } catch (SQLException e) { System.out.println("数据库连接失败"); e.printStackTrace(); } return conn; }}
页面index.jsp:打印数据库连接对象
<body> mysql连接对象为:<%Connection conn=MysqlConn.getInstance().getConn();%><%=conn %><%conn.close();%><br/> oracle连接对象为:<%Connection conn2=MysqlConn.getInstance().getConn();%><%=conn2 %><%conn2.close();%><br/> </body>
5、启动tomcat,在浏览器中输入:http://localhost:8083/ljqtest/,输出如下:
阅读全文
0 0
- tomcat 连接多个数据源
- tomcat配置多个数据源
- Spring连接多个数据源
- TOMCAT数据源连接配置
- mybatis连接多个数据源成功案例
- DataSource(数据源),Tomcat,连接池
- Tomcat数据源,连接池配置
- Tomcat配置数据源连接池
- 配置Tomcat数据源连接数据库
- Tomcat 连接池 数据源配置
- 用Spring管理Hibernate连接多个数据源配置文件
- 研究Tomcat结构,解决数据源连接数据库
- 研究Tomcat结构,解决数据源连接数据库
- 研究Tomcat结构,解决数据源连接数据库
- Tomcat数据源连接池的配置
- 研究Tomcat结构,解决数据源连接数据库
- Tomcat中使用数据源连接mysql数据库
- 配置Tomcat数据源和连接池
- 异常处理
- 滤波的实现
- mysql登录不上的问题
- [leetcode]111. Minimum Depth of Binary Tree@Java解题报告
- 二叉树的遍历
- tomcat 连接多个数据源
- 步进电机应用过程中注意事项
- hadoop spark环境搭建及idea scala maven集成开发spark任务
- Mac/OSX root/sudo Operation not permitted
- xmake新增智能代码扫描编译模式
- 一份关于webpack2和模块打包的新手指南
- js函数调用时,加括号与不加括号的区别
- Ubuntu创建新用户并创建相应目录
- NYOJ 63 小猴子下落