基于springboot 的多数据源jdbcutil(支持多数据库事务)

本文介绍了如何在SpringBoot项目中配置多个数据源,并使用JDBCUtil进行数据库操作。同时,文章详细讲解了如何实现多数据库事务,支持接口调用,并通过动态代理处理事务控制。内容包括配置文件、使用示例和开发流程。
摘要由CSDN通过智能技术生成

基于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
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值