浏览代码

多数据源测试代码

fangtasyj 7 月之前
父节点
当前提交
6bb0fc355e

+ 9 - 6
ruoyi-admin/src/main/resources/application-druid.yml

@@ -2,23 +2,26 @@
 spring:
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
-        driverClassName: com.mysql.cj.jdbc.Driver
-       # driverClassName: com.mysql.cj.jdbc.Driver   mysql 6以后的
+        # 多数据源需要注释下一行配置 下一行配置指定具体的驱动
+#        driverClassName: com.mysql.cj.jdbc.Driver
 
         druid:
             # 主库数据源
             master:
                 url: jdbc:mysql://1.94.209.147:3396/dcuc_zzbbase_ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
                 #我本地端口3309  url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+                driverClassName: com.mysql.cj.jdbc.Driver
                 username: dcuc
                 password: 123
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭
-                enabled: false
-                url: 
-                username: 
-                password: 
+#                enabled: true
+                enabled: false   # 测试时关闭
+                url: jdbc:mysql://localhost:3306/person?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+                driverClassName: com.mysql.cj.jdbc.Driver
+                username: root
+                password: pfj@2024.*
             # 初始连接数
             initialSize: 5
             # 最小连接池数量

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java

@@ -49,6 +49,7 @@ public class DruidConfig
         return druidProperties.dataSource(dataSource);
     }
 
+
     @Bean(name = "dynamicDataSource")
     @Primary
     public DynamicDataSource dataSource(DataSource masterDataSource)

+ 9 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/controller/UserController.java

@@ -1,5 +1,7 @@
 package com.ruoyi.zzb.controller;
 
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.zzb.domain.User;
 import com.ruoyi.zzb.mapper.UserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,8 +17,15 @@ public class UserController {
     private UserMapper userMapper;
 
     @GetMapping( "/getUserById")
+    @DataSource(value = DataSourceType.MASTER)
     public User getUserById(int id){
         return userMapper.selectById(id);
     }
 
+    @GetMapping( "/getUserById2")
+    @DataSource(value = DataSourceType.SLAVE)
+    public User getUserById2(int id){
+        return userMapper.selectById(id);
+    }
+
 }

+ 3 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/mapper/UserMapper.java

@@ -1,9 +1,12 @@
 package com.ruoyi.zzb.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.zzb.domain.User;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
+@DataSource(value = DataSourceType.MASTER)
 public interface UserMapper extends BaseMapper<User> {
 }