广告
返回顶部
首页 > 资讯 > 精选 >springboot集成mybatis plus和dynamic-datasource的方法是什么
  • 667
分享到

springboot集成mybatis plus和dynamic-datasource的方法是什么

2023-06-26 03:06:09 667人浏览 安东尼
摘要

这篇文章主要介绍“SpringBoot集成mybatis plus和dynamic-datasource的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot集成m

这篇文章主要介绍“SpringBoot集成mybatis plus和dynamic-datasource的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot集成mybatis plus和dynamic-datasource的方法是什么”文章能帮助大家解决问题。

springboot集成mybatis plus和dynamic-datasource注意事项

环境

  • spring-boot-starter-parent 1.5.2.RELEASE

  • mybatis-plus-boot-starter 2.x

  • dynamic-datasource-spring-boot-starter 2.5.0

  • druid-spring-boot-starter 1.1.10

注意事项

@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

dynamic所有版本默认启用stat和wall过滤器(默认不支持批量执行sql, 并且有些低版本无法自定义)

开启批量执行sql的方法

# 方法1:升级版本, 如2.5.0spring:  datasource:    dynamic:      druid:         wall:          noneBaseStatementAllow: true          multiStatementAllow: true# 方法2:移除wall过滤器spring:  datasource:    dynamic:      druid:         filters: stat

现有项目集成mybatis plus时,应指定另外的枚举包,否则会出问题

mybatis-plus:  type-enums-package: com.zxkj.demo.enums.mp

springboot mybatis plus多数据源配置整合dynamic-datasource

pro文件引入依赖

       <dependency>            <groupId>mysql</groupId>            <artifactId>Mysql-connector-java</artifactId>            <scope>runtime</scope>        </dependency>        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid-spring-boot-starter</artifactId>            <version>1.2.6</version>        </dependency>        <!--mybatis-plus-->        <dependency>            <groupId>com.baomidou</groupId>            <artifactId>mybatis-plus-boot-starter</artifactId>            <version>3.1.2</version>        </dependency>        <!--主从配置依赖-->        <dependency>            <groupId>com.baomidou</groupId>            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>            <version>2.5.6</version>        </dependency>        <!--lombok用来简化实体类:需要安装lombok插件-->        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>1.18.20</version>        </dependency>

application.yml配置

spring:  datasource:    dynamic:      primary: master #设置默认数据源或数据源组,master默认值(数据源名称可以随意起名,没有固定值,eg:db1,db2)      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.      datasource:        master:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://192.168.3.220:3306/mchouse_test1?useUnicode=true&characterEncoding=utf-8          username: *****          passWord: *****        slave_1:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://112.30.184.149:3306/net_trans_sup_hefei_edi?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai          username: *****          password: *****        slave_2:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://120.55.168.100:33066/net_trans_sup_hefei_edi?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai          username: *****          password: *****mybatis-plus:#  configuration:#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #org.apache.ibatis.logging.slf4j.Slf4jImpl  mapper-locations: classpath:mapper    @Bean    @Profile({"dev","test"})// 设置 dev test 环境开启    public PerfORManceInterceptor performanceInterceptor() {        PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();        performanceInterceptor.setMaxTime(100000);//ms,超过此处设置的ms则sql不执行        performanceInterceptor.setFormat(true);        return performanceInterceptor;    }        @Bean    public ISqlInjector sqlInjector() {        return new LogicSqlInjector();    }        @Bean    public PaginationInterceptor paginationInterceptor() {        return new PaginationInterceptor();    }}

创建mapper接口

@Mapperpublic interface DemoMapper extends BaseMapper<Demo> {    List<Demo> getAllList();    @DS("slave_2")    List<Demo> getShopList();}

测试类测试

@SpringBootTestclass Md5DemoApplicationTests {    @Autowired    private DemoMapper demoMapper;    @Test    void contextLoads() {        List<Demo> list=demoMapper.getAllList();        System.out.println(list);        System.out.println("***************");        List<Demo> shopList=demoMapper.getShopList();        System.out.println(shopList);    }}

@DS优先级:方法 > 类

@DS 可以注解在方法上和类上,同时存在方法注解优先于类上注解,mapper或者service都可以添加,建议只在一个方法上添加即可。

关于“springboot集成mybatis plus和dynamic-datasource的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: springboot集成mybatis plus和dynamic-datasource的方法是什么

本文链接: https://www.lsjlt.com/news/306621.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot集成mybatis plus和dynamic-datasource的方法是什么
    这篇文章主要介绍“springboot集成mybatis plus和dynamic-datasource的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot集成m...
    99+
    2023-06-26
  • springboot集成mybatis plus和dynamic-datasource注意事项说明
    目录springboot集成mybatisplus和dynamic-datasource注意事项环境注意事项springbootmybatisplus多数据源配置整合dynamic-...
    99+
    2022-11-12
  • springboot集成ffmpeg的方法是什么
    要在Spring Boot中集成FFmpeg,你可以使用Java-FFmpeg库来实现。下面是一些集成FFmpeg的步骤: 添加J...
    99+
    2023-10-23
    springboot ffmpeg
  • springboot集成teams的方法是什么
    本篇内容主要讲解“springboot集成teams的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot集成teams的方法是什么”吧!添加依赖<dependen...
    99+
    2023-06-28
  • SpringBoot集成tomcat的方法是什么
    这篇文章主要介绍“SpringBoot集成tomcat的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot集成tomcat的方法是什么”文章能帮助大家解决问题。spring...
    99+
    2023-07-05
  • Springboot集成lombok.jar的方法是什么
    本文小编为大家详细介绍“Springboot集成lombok.jar的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot集成lombok.jar的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-06
  • SpringBoot整合Mybatis Plus多数据源的实现方法是什么
    这篇文章主要讲解了“SpringBoot整合Mybatis Plus多数据源的实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot整合Mybatis Plus多数...
    99+
    2023-06-25
  • springboot集成线程池的方法是什么
    在Spring Boot中集成线程池可以通过以下方法进行: 添加依赖:在pom.xml文件中添加以下依赖: org.s...
    99+
    2023-10-21
    springboot
  • Java SpringBoot整合JSP和MyBatis的方法是什么
    这篇文章主要介绍“Java SpringBoot整合JSP和MyBatis的方法是什么”,在日常操作中,相信很多人在Java SpringBoot整合JSP和MyBatis的方法是什么问题上存在疑惑,小编查阅了各式资料,...
    99+
    2023-07-05
  • SpringBoot集成Validation参数校验的方法是什么
    这篇“SpringBoot集成Validation参数校验的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spri...
    99+
    2023-06-26
  • MyBatis-plus批量插入的通用方法是什么
    这篇文章主要介绍“MyBatis-plus批量插入的通用方法是什么”,在日常操作中,相信很多人在MyBatis-plus批量插入的通用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyBatis-p...
    99+
    2023-07-06
  • mybatis在springboot配置的方法是什么
    在Spring Boot中配置MyBatis,可以按照以下步骤进行操作:1. 添加MyBatis和相关依赖:在pom.xml文件中添...
    99+
    2023-10-21
    mybatis springboot
  • java集成开发SpringBoot生成接口文档的方法是什么
    这篇文章主要介绍“java集成开发SpringBoot生成接口文档的方法是什么”,在日常操作中,相信很多人在java集成开发SpringBoot生成接口文档的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-25
  • Mybatis plus逻辑删除注解@TableLogic的方法是什么
    Mybatis plus逻辑删除注解@TableLogic的方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先这个注解是苞米豆出品,也就是我们常说的myba...
    99+
    2023-06-29
  • mybatis-plus返回查询总记录数的方法是什么
    这篇“mybatis-plus返回查询总记录数的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mybatis-pl...
    99+
    2023-06-26
  • springboot集群部署的方法是什么
    Spring Boot可以使用多种方式进行集群部署,以下是一些常用的方法:1. 使用容器化技术部署:将Spring Boot应用打包...
    99+
    2023-09-05
    springboot
  • java seata部署和集成的方法是什么
    这篇文章主要讲解了“java seata部署和集成的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java seata部署和集成的方法是什么”吧!seata的部署和集成1.部署Se...
    99+
    2023-07-06
  • delphi集成python的方法是什么
    在Delphi中集成Python可以通过以下几种方法实现:1. 使用Python4Delphi(P4D):- Python4Delp...
    99+
    2023-09-28
    delphi python
  • spring集成kafka的方法是什么
    Spring集成Kafka的方法如下: 引入依赖:在项目的pom.xml文件中添加spring-kafka依赖。 <dep...
    99+
    2023-10-20
    spring kafka
  • springboot redis集群配置的方法是什么
    要配置Spring Boot中的Redis集群,可以使用以下方法:1. 添加Redis依赖项:在`pom.xml`文件中添加Spri...
    99+
    2023-09-16
    springboot redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作