SpringBoot——》动态切换数据源推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Spring】
总结——》【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
2、application.yml:配置数据源 3、@DS():动态切换数据源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
@Service public class UserServiceImpl extends ServiceImpl三、启动 1、Console控制台 2、Druid Monitor监控 1)登录 2)数据源 3)SQL监控 四、测试 1、读取主库:/user/listOfMasterimplements 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<>()); } }
http://127.0.0.1:8888/user/listOfMaster
2、读取从库:/user/listOfSlavehttp://127.0.0.1:8888/user/listOfSlave



