mybatis-spring多数据源配置
2024-09-06 08:20:36
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>
最新文章
- Oracle数据库11g各版本介绍及功能比较
- Oracle ORA-12154: TNS: 无法解析指定的连接标识符”错误
- EF架构~为EF DbContext生成的实体添加注释(T5模板应用)
- 清空mysql的历史记录
- 侧滑SilidingMenu ,ViewPager 和,PagerIndicator 冲突
- DisJSet:Find them, Catch them(POJ 1703)
- zabbix常用的几个key
- SPCOMM 接收数据不完整!该如何解决
- 总结Selenium自动化测试方法(六)常见的异常错误处理
- Codeforces Round #330 (Div. 1) C. Edo and Magnets 暴力
- Esper系列(六)子查询、Exists、In/not in、Any/Some、Join
- Android Wear开发 - 数据通讯 - 第四节 : 数据封装(解决不能序列化问题)
- map的类型映射
- JS控制文本框中的密码显示/隐藏功能
- poj1269
- LeetCode(45)-Bulls and Cows
- ubuntu 14.04 重装机 安装笔记 无线网卡+cuda+nvidia
- 控制台 console.write 中文为问号
- 自动化运维Ansible安装篇
- 【Linux常见问题】SecureCRT 终端连接密钥交换失败错误