先上项目:从最外端到内部,一层层分析。
首先是一个基本的Mapper去继承MsSqLBaseMapper,Ms...这个接口是提供识别用的,可以自定义,我这里定义的是SQL Server。
public interface AccountMapper extends MsSqlBaseMapper,Mapper<Account> {
//CURD....
}
MsSqLBaseMapper中不写任何内容。
public interface MsSqlBaseMapper {
}
在Spring的配置文件中有:
<import resource="bean-database.xml" />
然后bean-database.xml有
<!-- ms-->
<import resource="dataSources/mssql_dataSource.xml" />
<!-- mysql-->
<import resource="dataSources/mysql_dataSource.xml" />
以Ms为例,在文件里:
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="mssql_sqlSessionFactory" />
<property name="basePackage" value="com.xxx/>
<property name="markerInterface" value="com.xxx.boss.mapper.MsSqlBaseMapper" />
<property name="properties">
<value>
mappers=tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.special.InsertListMapper
</value>
</property>
</bean>
markerInterface:基于接口的过滤器,实现了该接口的dao才会被扫描器扫描,与basePackage是与的作用。
通过这个实现多源数据库。