当前位置: 首页 > article >正文

SpringBoot的Web项目Mybatis-plus多数据源

1、pom.xml依赖

①、Web项目跑起来:只需要 spring-boot-starter-web 【包含:tomcat、webmvc框架、Jackson、spring-boot-starter】

②、这里添加了:打包插件、测试依赖、mysql连接、mybatis-plus 使用及多数据源

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.manmanqiu</groupId>
    <artifactId>asdasdas</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <!--对全栈web开发的支持,包括Tomcat和spring-webmvc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.18</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.0</version>
        </dependency>

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

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.7.18</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2、application.yml

server:
  port: 9003

spring:
  datasource:
    dynamic:
      primary: master
      strict: false
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/lottery?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
          username: root
          password: 123456
        slave_01:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/bank?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
          username: root
          password: 123456

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3、切换数据源:使用@DS 注解

如果是测试:那么【Mapper层】 标注@DS, 注意如果是Service层控制切换数据源,就标Service层。

  • 此处:Service层控制
@Service
@DS("slave_01")
public class TActServiceImpl extends ServiceImpl<TActMapper, TAct> implements ITActService {

}
  • @Test 测试类:标注了没有用。
    @Test
    public void test05(){
        List<TAct> list = actService.list();
        list.forEach(System.out::println);
    }

http://www.kler.cn/news/356309.html

相关文章:

  • Python实现贪吃蛇大作战
  • 基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现
  • MYSQL OPTIMIZE TABLE 命令重建表和索引
  • CSS 居中那些事
  • YashanDB学习-数据库SQL基础操作
  • 【Linux】理解文件系统与软硬链接,观察inode号理解<“软链接是包含路径的新文件“,“硬链接是关于文件名的机制“>,最终明白<什么是真正删除一个文件>
  • 爱快路由器配置腾讯云动态域名DDNS详细说明
  • windows 10家庭版无法打开组策略的方法,亲测有效
  • Spring Cloud Alibaba 体系-组件-Sentinel
  • 电影评论系统:Spring Boot设计与实现
  • 宇宙汽车展览如何以创新性、个性化与便捷性,重塑汽车展示生态
  • 中仕公考:国考省考能一起备考吗?
  • 【博士每天一篇文献-算法】持续学习之GEM算法:Gradient Episodic Memory for Continual Learning
  • 【Python】高级特性
  • 【C++ STL 模板类】pair 键值对
  • USB转串口IC卡读写器银河麒麟操作系统认证测试报告
  • AWS Aurora 实例更换实战:最小化业务影响的升级策略
  • 韩国显卡的特点和优势体现在哪里
  • python教程:python中的元组及其对元组的操作
  • Golang | Leetcode Golang题解之第491题非递减子序列