mybatis-spring多数据源配置

1.注意事项:在MapperScannerConfigurer里配置的时候,每个数据源的mapper接口应放到不同的包中,下面的例子中用粗体标明,另外,对于mybatis-config.xml配置文件,如果每个数据源配置不同,也最好有多个
2.mapper.xml配置文件可以放到一个目录里,但是为了区分,最好也分开放
3.配置的例子
  <bean id="parentDataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <!--maxActive: 最大连接数量-->
        <property name="maxActive" value="150"/>
        <!--minIdle: 最小空闲连接-->
        <property name="minIdle" value="5"/>
        <!--maxIdle: 最大空闲连接-->
        <property name="maxIdle" value="20"/>
        <!--initialSize: 初始化连接-->
        <property name="initialSize" value="30"/>
        <!-- 连接被泄露时是否打印 -->
        <property name="logAbandoned" value="true"/>
        <!--removeAbandoned: 是否自动回收超时连接-->
        <property name="removeAbandoned" value="true"/>
        <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
        <property name="removeAbandonedTimeout" value="10"/>
        <!--maxWait: 超时等待时间以毫秒为单位 1000等于60秒-->
        <property name="maxWait" value="1000"/>
        <!-- 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. -->
        <property name="timeBetweenEvictionRunsMillis" value="10000"/>
        <!--  在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->
        <property name="numTestsPerEvictionRun" value="10"/>
        <!-- 1000 * 60 * 30  连接在池中保持空闲而不被空闲连接回收器线程-->
        <property name="minEvictableIdleTimeMillis" value="10000"/>
        <property name="validationQuery" value="SELECT 1"/>
    </bean>
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- ========================= DBCP数据源 ========================== -->
    <bean id="dataSource" parent="parentDataSource">
        <property name="url" value="${mysql.jdbc.url}"/>
        <property name="username" value="${mysql.jdbc.username}"/>
        <property name="password" value="${mysql.jdbc.password}"/>
    </bean>
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath*:mybatis/mappers/*.xml"/>
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
    </bean>
    <!-- 自动Dao装配 -->
    <bean name="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.qunar.fuwu.ticket.config.dao"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>
 
    <context:component-scan base-package="com.qunar.fuwu.ticket.config.dao"/>
    <!-- 另一个数据源-->
    <bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource_1"/>
    </bean>
    <bean id="dataSource_1" parent="parentDataSource">
        <property name="url" value="${mysql.jdbc.datasource1.url}"/>
        <property name="username" value="${mysql.jdbc.datasource1.username}"/>
        <property name="password" value="${mysql.jdbc.datasource1.password}"/>
    </bean>
    <bean id="sqlSessionFactory_1" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource_1"/>
        <property name="mapperLocations" value="classpath*:mybatis/mappers/*.xml"/>
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
    </bean>
    <bean name="mapperScannerConfigurer_1"
          class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.qunar.fuwu.ticket.config.dao2" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory_1" />
     </bean>
</beans>

mybatis-spring多数据源配置的更多相关文章

  1. 基于注解的Spring多数据源配置和使用(非事务)

    原文:基于注解的Spring多数据源配置和使用 1.创建DynamicDataSource类,继承AbstractRoutingDataSource package com.rps.dataSourc ...

  2. 基于xml的Spring多数据源配置和使用

    上一篇讲了<基于注解的Spring多数据源配置和使用>,通过在类或者方法上添加@DataSource注解就可以指定某个数据源.这种方式的优点是控制粒度细,也更灵活. 但是当有些时候项目分模 ...

  3. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  4. spring(16)------spring的数据源配置

    在spring中,通过XML的形式实现数据源的注入有三种形式. 一.使用spring自带的DriverManagerDataSource 使用DriverManagerDataSource配置数据源与 ...

  5. spring boot +mybatis+druid 多数据源配置

    因为我的工程需要在两个数据库中操作数据,所以要配置两个数据库,我这里没有数据源没有什么主从之分,只是配合多数据源必须要指定一个主数据源,所以我就把 操作相对要对的那个数据库设置为主数据(dataBas ...

  6. spring mybatis 多个数据源配置

    mybatis生成器:http://blog.csdn.net/tolcf/article/details/50835165 通过命令生成:java -jar mybatis-generator-co ...

  7. spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务

    文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...

  8. 基于 Spring + Atomikos + Mybatis的多数据源配置(含有BaseDao,BaseService)

    1.spring配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  9. Spring Boot 2.x基础教程:MyBatis的多数据源配置

    前两天,我们已经介绍了关于JdbcTemplate的多数据源配置以及Spring Data JPA的多数据源配置,接下来具体说说使用MyBatis时候的多数据源场景该如何配置. 添加多数据源的配置 先 ...

  10. 基于 Spring + Atomikos + Mybatis的多数据源配置demo

    1.spring配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

随机推荐

  1. JavaScript学习笔记之CSS-DOM

    HTML负责结构层,网页的结构层由HTML或者XHTML之类的标记语言负责构建 CSS负责表示层,描述页面内容应该如何呈现. JavaScript负责行为层,负责内容应该如何响应事件这一问题. 能利用 ...

  2. delphi 特殊窗体

    delphi 窗体阴影 放窗体创建事件里面 SetClassLong(Handle, GCL_STYLE, GetClassLong(Handle, GCL_STYLE) or CS_DROPSHAD ...

  3. NOIp2018集训test-9-22(am/pm) (联考三day1/day2)

    szzq学长出的题,先orz一下. day1 倾斜的线 做过差不多的题,写在我自己的博客里,我却忘得一干二净,反而李巨记得清清楚楚我写了的. 题目就是要最小化这个东西 $|\frac{y_i-y_j} ...

  4. NX二次开发-UFUN求对象的最大边界框UF_MODL_ask_bounding_box

    NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...

  5. maven-version

    <java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.bu ...

  6. 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll已解决

    问题 : 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll 解决 1, 首先把C:\Windows\SysWOW64\的api-ms-win-crt- ...

  7. 推荐5本纯Java技术书,你看过几本?

    51小长假了,大家应该对它又爱又痛,爱的是终于可以到处浪了,痛的是没钱只能穷游,而且还到处都是人,结果变成了堵高速.去看人头.去蒸饺子,真是受罪啊.. 所以,对于小长假的痛,我相信还是有一部分人会选择 ...

  8. haproxy Mycat集

    8-1   镜像haproxy docker run -it --privileged --name haproxy  docker.io/centos:latest 8-2wget http://w ...

  9. launch-s.sh 发布脚本备份

    [root@izm5ef2ow9zssfxi6opoucz code]# cat launch-s.sh serverId=1313 zipName=$1 serverPath='code-s'$se ...

  10. 6_再次开中断STI的正确姿势

    1 直接开启sti --蓝屏 2 配置环境 正确开启sti 中断 kpcr -- 很多重要线程切换的数据.结构 进入内核的时候 fs 不再是teb/tib: 是kpcr. 同时观察 kifastcal ...