多个mapper location时, mybatis spring的自动扫描配置
1. MapperScannerConfigurer 里面的basePackage, 多个package用逗号分隔
2. SqlSessionFactoryBean里面的mapperLocations, 用<list><value></value>...</list>设置
例如:
<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:database.properties</value>
</list>
</property>
</bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="poolPreparedStatements" value="true" />
<property name="initialSize" value="1" />
<property name="maxActive" value="20" />
<property name="maxIdle" value="5" />
<property name="validationQuery" value="select 1" /><!-- This one is for MySQL -->
<!--<property name="validationQuery" value="select 1 from dual" /> This one is for Oracle -->
<property name="testOnBorrow" value="true" />
<property name="testWhileIdle" value="true" />
</bean> <bean id="dataSourceLocal" parent="dataSource">
<property name="driverClassName" value="${db.mysql.local.driver}" />
<property name="url" value="${db.mysql.local.url}" />
<property name="username" value="${db.mysql.local.user}" />
<property name="password" value="${db.mysql.local.password}" />
</bean>
<!-- 当有多个数据源时, 自sqlSessionFactory, mapperScannerConfigurer 到 transactionmanager, 都要设置两套id -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.rockbb.facility.common.dao.mapper, com.rockbb.facility.weixin.dao.mapper" />
<!-- 当只有一个数据源时,这行可以不写. -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSourceLocal" />
<property name="mapperLocations">
<list>
<value>classpath:com/rockbb/facility/common/dao/mapper/*.xml</value>
<value>classpath:com/rockbb/facility/weixin/dao/mapper/*.xml</value>
</list>
</property>
</bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSourceLocal" />
</bean> <tx:annotation-driven transaction-manager="transactionManager" />
关于详细的配置项说明, 参考 http://haohaoxuexi.iteye.com/blog/1843309
当多个数据源都要使用事务时, 要这样定义
<tx:annotation-driven transaction-manager="transactionManagerA" />
<tx:annotation-driven transaction-manager="transactionManagerB" />
在代码中, 如果不显式指明使用哪个事务, 则默认使用先声明的那个, 本例中就是 transactionManagerA
显式指明使用哪个事务管理, 需要用这样的注解
@Transactional("transactionManagerB")
public void doSomething() {
//....
}
多个mapper location时, mybatis spring的自动扫描配置的更多相关文章
- Spring集成mybatis时mybatis的映射XML配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- spring-第N篇整合SSM,即Mybatis+Spring+Spring MVC
1.Mybatis的配置使用 1>Jar包:mybatis-3.4.5.jar.mysql-connector-6.0.2或者ojdbc6-11.2.0.4.jar. 2>编写conf.x ...
- spring + springMVC +hibernate 配置2
这种方式比较精简 配置项不多 spring采用自动扫描配置 ,分spring_springMVC.xml . hibernate_config.xml 两个文件 web.xml配置如下 <?x ...
- spring和mybatis集成,自动生成model、mapper,增加mybatis分页功能
软件简介 Spring是一个流行的控制反转(IoC)和面向切面(AOP)的容器框架,在java webapp开发中使用广泛.http://projects.spring.io/spring-frame ...
- Mybatis+Spring整合后Mapper测试类编写
public class UserMapperTest { private ApplicationContext applicationContext; @Before public void ini ...
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0'
七月 05, 2018 10:26:54 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...
- Spring和mybatis整合 org.mybatis.spring.mapper.MapperScannerConfigurer
在springmvc与mybatis整合时,需要对每一个mapper定义对应的一个MapperFactoryBean,可以使用MapperScannerConfigurer自动扫描mapper,然后自 ...
- mybatis整合spring,使用org.mybatis.spring.mapper.MapperScannerConfigurer扫描出现问题
<!-- 加载配置文件 --> <context:property-placeholder location="classpath:db.properties" ...
- mybatis+spring boot, mapper 提示Could not autowire. No beans of … type found
工具及背景: IntelliJ IDEA 2016.1.3 Ultimate.spring boot, maven项目,利用mybatis 注解的方式查询mysql. 业务逻辑关系:controlle ...
随机推荐
- 【原】ios打包ipa的四种实用方法(.app转.ipa)
总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选 ...
- C阶段【02】 - 分支结构
知识重点: BOOL布尔类型 关系运算符 逻辑运算符 if语句 枚举类型 switch语句 一.BOOL布尔类型 用来存储“真”或者“假”,变了只有YES和NO两个值.YES(1)表示表达式结果为真, ...
- SQLite3的基本使用
|SQLite3简介 SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程. 常用术语:表( ...
- WPF学习之路(十一)布局
布局 Canvas 基本面板,传统布局方式,支持与设备无关的坐标定位元素 <Border BorderThickness="> <Canvas> <Button ...
- android Activity生命周期(设备旋转、数据恢复等)与启动模式
1.Activity生命周期 接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...
- ORACLE SQL Developer日期显示格式设置
ORACLE的SQL Developer工具默认的日期格式DD-MON-RR,在SQL查询中往往你看不到时间信息,此时你必须修改日期格式.具体如下所示 工具->首选项->数据库->N ...
- 【转载】CentOS 6.3下rsync服务器的安装与配置
一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...
- spring 依赖注入(IOC DI)
依赖注入(IOC DI) 依赖注入的两种方式: 1. set注入 Spring要求使用set注入方式的时候,Bean需要提供一个无参数的构造方法.并提供一个属性的setter方法.例如: packag ...
- 密码校验正则表达式(java 环境)
密码校验需求: 1) 密码控制只能输入字母.数字.特殊符号(~!@#$%^&*()_+[]{}|\;:'",./<>?)2) 长度 6-16 位,必须包括字母.数字.特殊 ...
- LeetCode#227.Basic Calculator II
题目 Implement a basic calculator to evaluate a simple expression string. The expression string contai ...