Web项目中用mybatis配置多个数据库
需要在项目中配置多个数据库(比如一个mysql,一个oracle)的时候,可按照如下方式配置
首先是第一个数据库的配置
    <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
         <!-- 数据库基本信息配置 -->
         <property name="url" value="${url}" />
         <property name="username" value="${db_username}" />
         <property name="password" value="${password}" />
         <property name="driverClassName" value="${driverClassName}" />
         <property name="filters" value="${filters}" />
         <!-- 最大并发连接数 -->
         <property name="maxActive" value="${maxActive}" />
         <!-- 初始化连接数量 -->
         <property name="initialSize" value="${initialSize}" />
         <!-- 配置获取连接等待超时的时间 -->
         <property name="maxWait" value="${maxWait}" />
         <!-- 最小空闲连接数 -->
         <property name="minIdle" value="${minIdle}" />
         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
         <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
         <property name="validationQuery" value="${validationQuery}" />
         <property name="testWhileIdle" value="${testWhileIdle}" />
         <property name="testOnBorrow" value="${testOnBorrow}" />
         <property name="testOnReturn" value="${testOnReturn}" />
         <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" />
         <!-- 打开removeAbandoned功能 -->
         <property name="removeAbandoned" value="${removeAbandoned}" />
         <!-- 1800秒,也就是30分钟 -->
         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
         <!-- 关闭abanded连接时输出错误日志 -->
         <property name="logAbandoned" value="${logAbandoned}" />
    </bean>  
    <!-- 配置mybatis -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="/WEB-INF/mybatis-config.xml"></property>
        <!-- mapper扫描 -->
        <property name="mapperLocations" value="/WEB-INF/mybatis-mapper/mysql/*.xml"></property>
    </bean>
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactory" />
    </bean>
第二个数据库的配置
注意给bean起不同的名字,扫描不同的mapper文件目录,就可以了。
    <bean name="transactionManagerEx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSourceEx"></property>
    </bean>
    <bean id="dataSourceEx" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
         <!-- 数据库基本信息配置 -->
         <property name="url" value="${ex.url}" />
         <property name="username" value="${ex.db_username}" />
         <property name="password" value="${ex.password}" />
         <property name="driverClassName" value="${ex.driverClassName}" />
         <property name="filters" value="${filters}" />
         <!-- 最大并发连接数 -->
         <property name="maxActive" value="${maxActive}" />
         <!-- 初始化连接数量 -->
         <property name="initialSize" value="${initialSize}" />
         <!-- 配置获取连接等待超时的时间 -->
         <property name="maxWait" value="${maxWait}" />
         <!-- 最小空闲连接数 -->
         <property name="minIdle" value="${minIdle}" />
         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
         <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
         <property name="validationQuery" value="${validationQuery}" />
         <property name="testWhileIdle" value="${testWhileIdle}" />
         <property name="testOnBorrow" value="${testOnBorrow}" />
         <property name="testOnReturn" value="${testOnReturn}" />
         <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" />
         <!-- 打开removeAbandoned功能 -->
         <property name="removeAbandoned" value="${removeAbandoned}" />
         <!-- 1800秒,也就是30分钟 -->
         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
         <!-- 关闭abanded连接时输出错误日志 -->
         <property name="logAbandoned" value="${logAbandoned}" />
    </bean>  
    <!-- 配置mybatis -->
    <bean id="sqlSessionFactoryEx" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSourceEx" />
        <property name="configLocation" value="/WEB-INF/mybatis-config.xml"></property>
        <!-- mapper扫描 -->
        <property name="mapperLocations" value="/WEB-INF/mybatis-mapper/oracle/*.xml"></property>
    </bean>
    <bean id="sqlSessionTemplateEx" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactoryEx" />
    </bean>
使用的时候
Dao的bean中使用相应的sqlSessionTemplate,比如在xml中可以如下配置
    <bean id="baseDao" class="com.sample.web.dao.DaoSupport">
        <property name="sqlSessionTemplate" ref="sqlSessionTemplate"></property>
    </bean>
    <bean id="baseDaoEx" class="com.sample.web.dao.DaoSupport">
        <property name="sqlSessionTemplate" ref="sqlSessionTemplateEx"></property>
    </bean>												
											Web项目中用mybatis配置多个数据库的更多相关文章
- Maven创建web项目:SpringMVC+Mybatis  【转】
		
IDEA14创建Maven管理的SpringMVC+Mybatis,web项目 项目构建步骤 1.File->New->Project 勾选Create from archetype 点击 ...
 - web项目在iis配置好后不能正确访问问题集锦,以及IIS常规设置
		
6.IIS配置好,项目无法访问,注意项目对应的应用程序池的net版本是否正确,是否集成(一般都是集成,很少是经典) 本项目用的4.0,可IIS默认程序池为2.0,将2.0改为4.0就行. 7.HT ...
 - idea中创建web项目搭建Hibernate框架连接oracle数据库
		
hibernate框架 hibernate是数据化持久工具,也是一个开源代码的ORM解决方案.hibernate内部封装了通过jdbc访问数据库的操作,向商场应用提供面向对象的数据访问api. hib ...
 - web项目服务器安装及配置(虚拟机centOS7)
		
一.安装VMware(如需) 1.首先下载VMware虚拟机,地址: https://www.vmware.com/products/workstation-pro/workstation-pro-e ...
 - IntelliJ IDEA WEB项目的部署配置
		
以下内容是我网上找的比较全面了,其中关于facets配置很多地方都没有说明,其实很重要,我加入了自己的理解.其他来自网络.在导入一个项目有问题时,建议先创建一个正确的web项目,然后对比配置项,一般就 ...
 - Web —— java web 项目 Tomcat 的配置 与 第一个web 项目创建
		
目录: 0.前言 1.Tomcat的配置 2.第一个Web 项目 0.前言 刚刚开始接触web开发,了解的也不多,在这里记录一下我的第一个web项目启动的过程.网上教程很多,使用的java IDE 好 ...
 - Intellij Idea web项目的部署配置[转]
		
原文地址:http://blog.csdn.net/z69183787/article/details/41416189 1.前言 2.项目配置(Project Structure) 2.1 Proj ...
 - 【转载】IntelliJ IDEA WEB项目的部署配置
		
最近使用了一下IDEA,确实强大.在部署时出现了些问题.看了这篇文章,对ieda的一些部署配置有了些许了解,在此感谢原博.原文链接:http://blog.csdn.net/z69183787/art ...
 - 7.IDEA创建Web项目和Tomcat配置
		
IntelliJ IDEA Tomcat配置 详解 Tomcat 7.0 和jdk1.8 一起使用 一.创建web项目 1.1 创建工程 1.2 创建java web项目并创建web.xml文件 1 ...
 
随机推荐
- phantomjs和selenium模拟登陆qq空间
			
# -*- coding: utf-8 -*- from selenium import webdriver import time driver =webdriver.PhantomJS() dri ...
 - js中字符串常规操作
			
string对象属性: 1.length 获取字符串的长度,需要注意的是,js中中文每个汉字也只代表一个字符. var myName="xulinjun"; console.log ...
 - 蓝牙攻击指南(kali)
			
基本操作 hciconfig 查看蓝牙设备信息 hcitool:这是一个查询工具. 可以用来查询设备名称,设备ID,设备类别和设备时钟. hcidump:可以使用这个来嗅探蓝牙通信 hciconfig ...
 - matlab默认字体设置
			
Monospaced Plain 10 SansSerif Plain 10 这是默认设置.希望能帮到你!
 - 【原创】配置Windows Live Writer,写cnblogs博客
			
20180115更新补充: 现在live writer已经改名open live writer了,需要去下载的到地址:http://openlivewriter.org/ 引言 以前写博客一般都是联网 ...
 - [BZOJ1054][HAOI2008]移动玩具 bfs+hash
			
1054: [HAOI2008]移动玩具 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2432 Solved: 1355[Submit][Stat ...
 - MSSQL横列转纵列
			
上篇我们说到了纵列转横列,这篇讲下横列转纵列,具体代码: 1.建表 CREATE TABLE [dbo].[EndLongChangeAcross]( ,) NOT NULL, ) NOT NULL, ...
 - JDK7集合框架源码阅读(一) ArrayList
			
基于版本jdk1.7.0_80 java.util.ArrayList 代码如下 /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates ...
 - HDU 2639 Bone Collector II【01背包 + 第K大价值】
			
The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ...
 - Codeforces Round #448 (Div. 2) B. XK Segments【二分搜索/排序/查找合法的数在哪些不同区间的区间数目】
			
B. XK Segments time limit per test 1 second memory limit per test 256 megabytes input standard input ...