原文出处:
今天你不奋斗明天你就落后
一、前言
Mybatis作为一个优秀的存储过程和高级映射的持久层框架,目前在项目实践中运用的比较广泛,最近做项目时候发现了一种之前没见过的配置方式,这里总结下常用的配置方式以便备忘查找。
二、Spring中Mybatis的配置方案一
2.1 多数据源配置案例
(1)数据源配置 <bean id="dataSourceForA" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="${db1_url}" /> <property name="username" value="$db1_user}" /> <property name="password" value="${db1_passwd}" /> <property name="maxWait" value="${db1_maxWait}" /> <property name="maxActive" value="28" /> <property name="initialSize" value="2" /> <property name="minIdle" value="0" /> <property name="timeBetweenEvictionRunsMillis" value="300000" /> <property name="testOnBorrow" value="false" /> <property name="testWhileIdle" value="true" /> <property name="validationQuery" value="select 1 from dual" /> <property name="filters" value="stat" /> </bean> (2)创建sqlSessionFactory <bean id="sqlSessionFactoryForA" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="mapperLocations" value="classpath*:com/**/mapper1/*Mapper*.xml" /> <property name="dataSource" ref="dataSourceForA" /> <property name="typeAliasesPackage" value="com.zlx.***.dal" /> </bean> (3)配置扫描器,扫描指定路径的mapper生成数据库操作代理类 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="annotationClass" value="javax.annotation.Resource"></property> <property name="basePackage" value="com.zlx1.***.dal.***.mapper" /> <property name="sqlSessionFactory" ref="sqlSessionFactoryForA" /> </bean> (4)数据源配置 <bean id="dataSourceForB" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="${db_url}" /> <property name="username" value="$db_user}" /> <property name="password" value="${db_passwd}" /> <property name="maxWait" value="${db_maxWait}" /> <property name="maxActive" value="28" /> <property name="initialSize" value="2" /> <property name="minIdle" value="0" /> <property name="timeBetweenEvictionRunsMillis" value="300000" /> <property name="