上级文章:
快速Mybatis动态数据源(基于java类):https://blog.csdn.net/qq_28033719/article/details/103609120
目前需要增加一个拦截器来对 Mybatis 的 DAO 层进行设计,所以需要使用 Mybatis 拦截器进行 SQL 拦截。
需要增加和修改的东西:MybatisDataSourceConf(数据源配置),AngularInterceptor(Mybatis拦截器)
准备知识:
1、org.apache.ibatis.plugin.Interceptor
这个是 Mybatis 提供的一个拦截器,可以拦截 Mybatis 的核心类是:
Executor:封装 Statement 前的执行器
StatementHandler:SQL 处理器
PameterHandler:SQL 传入参数处理器
ResultSetHandler:SQL处理之后,结果集处理器
2、Mybatis 动态数据源、静态数据源
动态数据源:也是我创建mybatis动态数据源的概念,就是在一个 SqlSessionFactory 里面加入多个数据源,并且使用 Routing 路由交给 Mybatis处理
静态数据源:通过创建多个 SqlSessionFactory ,每个 Factory 都只绑定一个数据源以及 Mapper 拦截路径,这样的对多个数据源的处理方法可以称为静态数据源,可以用类进行配置,也可以用XML,如下:
<!-- ***** 数据库_01_配置 ***** -->
<bean id="ds01" class="com.alibaba.druid.pool.DruidDataSource">
... 一堆配置
</bean>
<bean id="Factory01" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds01"/>
<property name="mapperLocations" ref="你的Mapper"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage&#