基于springboot 的多数据源jdbcutil(支持多数据库事务)
一、配置文件 application.properties
主数据源必须配置
spring.datasource.driverClassName=
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
主数据库存储的命名为 mysqlDao
其他数据库配置为
spring.datasource.mysql96.driverClassName=
spring.datasource.mysql96.url=
spring.datasource.mysql96.username=
spring.datasource.mysql96.password=
spring.datasource.mysql45.driverClassName=
spring.datasource.mysql45.url=
spring.datasource.mysql45.username=
spring.datasource.mysql45.password=
这样则配置了两个数据源,名字分别叫做 mysql96 和 mysql45
关于使用方式
如同spring boot使用方式一样,直接注入,加注解即可,当前注解仅支持四个自定义参数
多数据源的事务只支持接口调用
二、 使用例子
/**
* 业务逻辑处理类
*/
@Service
public class MostConnectTransactionalTest {
/**
* 多数据源获取类
*/
@Autowired
private MostDataSourceProcessInter mostDataSourceProcessInter;
/**
* 主数据源,在多数据源管理器中一样存在
*/
@Autowired
private MysqlDao mysqlDao;
/*注释这边还不能支持多数据源的事务,仅能用封装的方法进行*/
@TransactionalMostConnect(DataSourcesNames ={
"mysqlDao","mysql96","mysql45"},
rollbackFor = {
Exception.class,RuntimeException.class,SQLException.class},
TransactionIsolation = Connection.TRANSACTION_REPEATABLE_READ,timeout = 10)
public void testrollback