自定义动态数据源类
通过ThreadLocal维护一个全局唯一的map来实现数据源的动态切换
通过AOP切面实现动态切换数据源,这里假设projectId与dataSourceId有对应关系
新建DataSourceUtil类保存projectId与dataSourceId的对应关系
springboot启动时的配置类配置默认datasource
可以看到,已经实现了数据源的动态切换
完全不依靠xml文件,怎么配置m依赖包的引入。创建好maven项目之后,打开maven项目下的pom.xml文件,在配置文件中增加对mybatis包和mysql驱动包的依赖。在dependencies中增加对这两个包的配置即可自动将这两个包添加到项目中。mybatis数据库配置。对于mybatis框架来说,首先需要配置的就是数据库的数据源配置以及采用何种开发模式的配置,对于mavne项目来说这些资源信息都需要配置在src/main/resources下面,对于普通的java项目则只需要配置在src下即可。ybatis 说是动态切换数据库,还是什么
<!-- 注解式事务管理 --<tx:annotation-driven transaction-manager="transactionManager" /
<!-- 自动扫描 mybatis mapper接口 --
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
<property name="basePackage" value="com.test.tt.mapper" /
<property name="sqlSessionFactory" ref="sqlSessionFactory"</property</bean<!-- 数据源2--
<!-- proxool连接池 --
<bean id="dataSource_d2" class="org.logicalcobwebs.proxool.ProxoolDataSource"
<property name="alias" value="${d2.alias}" /
<property name="driver" value="${driver}" /
<property name="driverUrl" value="${d2.driverUrl}" /
<property name="user" value="${d2.user}" /
<property name="password" value="${d2.password}" /
<property name="houseKeepingTestSql" value="${house-keeping-test-sql}" /
<property name="maximumConnectionCount" value="${maximum-connection-count}" /
<property name="minimumConnectionCount" value="${minimum-connection-count}" /
<property name="prototypeCount" value="${prototype-count}" /
<property name="simultaneousBuildThrottle" value="${simultaneous-build-throttle}" /
<property name="trace" value="${trace}" /</bean
<bean id="sqlSessionFactory_d2" class="org.mybatis.spring.SqlSessionFactoryBean"
<property name="dataSource" ref="dataSource_d2" /
<property name="configLocation" value="classpath:mybatis-d2-config.xml"</property</bean<bean id="transactionManager_d2"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
<property name="dataSource" ref="dataSource_d2" /</bean
<!-- 注解式事务管理 --
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)