springboot怎么集成@DS注解实现数据源切换

springboot怎么集成@DS注解实现数据源切换

这篇文章主要介绍“springboot怎么集成@DS注解实现数据源切换”,在日常操作中,相信很多人在springboot怎么集成@DS注解实现数据源切换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”springboot怎么集成@DS注解实现数据源切换”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    启用@DS实现数据源切换

    POM内添加核心jar包

    <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.0.0</version></dependency>

    yml配置

    spring:datasource:#配置hikari连接池hikari:minimum-idle:4maximum-pool-size:16connection-timeout:10000idle-timeout:30000connection-init-sql:setnamesutf8mb4#动态数据源配置dynamic:#主数据源,默认启用primary:businessdatasource:#数据源1business:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/db_business?useUnicode=true&characterEncoding=utf-8username:****password:****#数据源2user:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/db_user?useUnicode=true&characterEncoding=utf-8username:****password:****#数据源3order:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/db_order?useUnicode=true&characterEncoding=utf-8username:****password:****

    “核心”-使用@DS注解

    使用@DS注解的核心是什么呢?

    springboot怎么集成@DS注解实现数据源切换

    1.注解添加在dao.mapper上无效
    2.注解添加到interface Service类上无效
    3.注解添加到interface Service方法上无效

    那么,此注解应该如何使用呢?

    添加@DS注解到实现类或者实现类的方法上才可以

    当注解添加到类上,意味着此类里的方法都使用此数据源;
    当注解添加到方法上时,意味着此方法上使用的数据源优先级高于其他一切配置

    @Service@DS("slave")publicclassUserServiceImplimplementsUserService{@AutowiredprivateJdbcTemplatejdbcTemplate;publicList<Map<String,Object>>selectAll(){returnjdbcTemplate.queryForList("select*fromuser");}@Override@DS("slave_1")publicList<Map<String,Object>>selectByCondition(){returnjdbcTemplate.queryForList("select*fromuserwhereage>10");}

    到此,关于“springboot怎么集成@DS注解实现数据源切换”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!

    发布于 2022-03-09 22:48:46
    收藏
    分享
    海报
    0 条评论
    22
    上一篇:python中pip安装库时出现Read timed out怎么解决 下一篇:.NET中如何使用FastReport实现打印功能
    目录

      0 条评论

      本站已关闭游客评论,请登录或者注册后再评论吧~

      忘记密码?

      图形验证码