栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot——》动态切换数据源

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot——》动态切换数据源

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Spring】
    总结——》【SpringBoot】

SpringBoot——》动态切换数据源
  • 一、数据库
  • 二、项目
    • 1、pom.xml:引入核心依赖
    • 2、application.yml:配置数据源
    • 3、@DS():动态切换数据源
  • 三、启动
    • 1、Console控制台
    • 2、Druid Monitor监控
      • 1)登录
      • 2)数据源
      • 3)SQL监控
  • 四、测试
    • 1、读取主库:/user/listOfMaster
    • 2、读取从库:/user/listOfSlave

一、数据库

-- 1、创建数据库
CREATE DATABASE `dynamic_master` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

-- 2、创建表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- 3、插入数据
INSERT INTO `user` VALUES (1, '赵');
INSERT INTO `user` VALUES (2, '钱');
INSERT INTO `user` VALUES (3, '孙');
INSERT INTO `user` VALUES (4, '李');





-- 1、创建数据库
CREATE DATABASE `dynamic_slave` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

-- 2、创建表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- 3、插入数据
INSERT INTO `user` VALUES (11, '周');
INSERT INTO `user` VALUES (22, '吴');
INSERT INTO `user` VALUES (33, '郑');
INSERT INTO `user` VALUES (44, '王');
二、项目

【gitee】https://gitee.com/xiaoxianwansui/springboot-dynamic-datasource.git

1、pom.xml:引入核心依赖
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.5.1
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            com.baomidou
            dynamic-datasource-spring-boot-starter
            3.5.1
        
        
            com.alibaba
            druid-spring-boot-starter
            1.2.9
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.projectlombok
            lombok
            true
        
2、application.yml:配置数据源

3、@DS():动态切换数据源

@Service
public class UserServiceImpl extends ServiceImpl implements IUserService {
    @Autowired
    private UserMapper userMapper;
    
    @Override
    @DS("master")
    public List listOfMaster() {
        return userMapper.selectList(new QueryWrapper<>());
    }
    
    @Override
    @DS("slave")
    public List listOfSlave() {
        return userMapper.selectList(new QueryWrapper<>());
    }
}
三、启动 1、Console控制台

2、Druid Monitor监控 1)登录

2)数据源

3)SQL监控

四、测试

1、读取主库:/user/listOfMaster

http://127.0.0.1:8888/user/listOfMaster

2、读取从库:/user/listOfSlave

http://127.0.0.1:8888/user/listOfSlave

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007720.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号