From 59029ee11e9d1c1f2f07a3d5dc42165777739074 Mon Sep 17 00:00:00 2001
From: liulin <lin.liu@aliyun.com>
Date: 星期四, 08 八月 2024 12:39:02 +0800
Subject: [PATCH] 修改配置

---
 src/test/java/com/lunhan/xxx/host/BasicServiceApplicationTests.java |   37 +++++++++
 src/test/java/com/lunhan/xxx/repository/mapper/UserMapper.java      |    9 ++
 src/main/resources/application-dev.yml                              |   11 +-
 src/main/resources/application-prod.yml                             |    3 
 src/test/resources/application.yml                                  |    8 ++
 src/test/java/com/lunhan/xxx/repository/test123.java                |    4 +
 src/main/resources/application-test.yml                             |    3 
 pom.xml                                                             |   42 ++++++----
 src/test/java/com/lunhan/xxx/po/UserPO.java                         |   20 +++++
 src/test/resources/application-dev.yml                              |   50 +++++-------
 src/main/resources/application.yml                                  |    8 ++
 11 files changed, 136 insertions(+), 59 deletions(-)

diff --git a/pom.xml b/pom.xml
index c02c4c3..4e86ba6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,13 +69,6 @@
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
 
-        <!--集成druid连接池-->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-            <version>${druid.version}</version>
-        </dependency>
-
         <!-- mysql数据库驱动 -->
         <dependency>
             <groupId>mysql</groupId>
@@ -90,7 +83,19 @@
             <scope>system</scope>
             <systemPath>${project.basedir}/src/main/resources/lib/opengauss-jdbc-5.0.0.jar</systemPath>
         </dependency>
-
+        <!--集成druid连接池-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+            <version>${druid.version}</version>
+        </dependency>
+        <!-- 动态多数据源 -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>4.2.0</version>
+            <scope>test</scope>
+        </dependency>
         <!-- mybatis-plus -->
         <dependency>
             <groupId>com.baomidou</groupId>
@@ -98,10 +103,11 @@
             <version>3.5.7</version>
         </dependency>
 
-        <!--jdbc-->
+        <!-- logback + slf4j -->
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-jdbc</artifactId>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
         </dependency>
 
         <!-- redis -->
@@ -115,13 +121,6 @@
             <groupId>com.auth0</groupId>
             <artifactId>java-jwt</artifactId>
             <version>3.8.2</version>
-        </dependency>
-
-        <!-- logback + slf4j -->
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>${logback.version}</version>
         </dependency>
 
         <!-- begin json序列化  -->
@@ -222,6 +221,13 @@
             <version>1.67</version>
         </dependency>
 
+        <!-- 自动getter/setter -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.16.22</version><!-- 注意如果版本过低,会和mapstruct冲突,导致不能映射实体 -->
+        </dependency>
+
         <!--************************************************** 单元测试相关 **************************************************-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 2619b48..f96e332 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -18,8 +18,6 @@
       stat-view-servlet: #访问监控网页的登录用户名和密码
         login-username: druid
         login-password: lunhan123
-  jpa:
-    database-platform: org.hibernate.dialect.openGaussDialect
   redis:
     host: 127.0.0.1 # Redis服务器地址
     database: 2 # Redis数据库索引(默认为0)
@@ -37,9 +35,6 @@
   level:
     root: info
     com.lunhan.xxx: info
-
-jdbc-set:
-  sql-log: true
 
 # xxl-job配置
 xxl-job:
@@ -61,3 +56,9 @@
   executor-log-path: ./logs/xxl-job/jobhandler
   ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
   executor-log-retention-days: 15
+
+# mybatis-plus 配置:
+mybatis-plus:
+  configuration:
+    ### 开启打印sql配置
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index a73e342..def41aa 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -36,9 +36,6 @@
     root: info
     com.lunhan.xxx.host: debug
 
-jdbc-set:
-  sql-log: true
-
 # xxl-job配置
 xxl-job:
   ### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 504f65d..d337443 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -37,9 +37,6 @@
     com.lunhan.xxx.host: DEBUG
     com.lunhan.xxx.service: DEBUG
 
-jdbc-set:
-  sql-log: true
-
 # xxl-job配置
 xxl-job:
   ### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f14da52..76a3f73 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -44,3 +44,11 @@
       #微信小程序消息服务器配置的EncodingAESKey
       aesKey:
       msgDataFormat: JSON
+
+# mybatis-plus 配置:
+mybatis-plus:
+  global-config:
+    db-config:
+      logic-delete-field: is_delete # 全局逻辑删除字段名
+      logic-delete-value: 1 # 逻辑已删除值
+      logic-not-delete-value: 0 # 逻辑未删除值
diff --git a/src/test/java/com/lunhan/xxx/host/BasicServiceApplicationTests.java b/src/test/java/com/lunhan/xxx/host/BasicServiceApplicationTests.java
index fc89ad2..1512eb3 100644
--- a/src/test/java/com/lunhan/xxx/host/BasicServiceApplicationTests.java
+++ b/src/test/java/com/lunhan/xxx/host/BasicServiceApplicationTests.java
@@ -1,11 +1,18 @@
 package com.lunhan.xxx.host;
 
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.lunhan.xxx.po.UserPO;
+import com.lunhan.xxx.repository.mapper.UserMapper;
 import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.List;
 
 @SpringBootTest
 class BasicServiceApplicationTests {
-
+    @Autowired
+    private UserMapper userMapper;
 //    @Autowired
 //    private AdminService service;
 
@@ -30,4 +37,32 @@
 
 		System.out.println("END.");
     }
+
+    @Test
+    void dbTest() {
+        // 动态设置数据源上下文
+        DynamicDataSourceContextHolder.push("test_db1");
+        List<UserPO> list = userMapper.selectList(null);
+
+        UserPO item = new UserPO();
+        item.setName("jeff");
+        item.setAge(18);
+        item.setEmail("");
+        int insertRowCount = userMapper.insert(item);
+        System.out.println("insertRowCount: " + insertRowCount);
+
+        UserPO find = userMapper.selectById(item.getId());
+
+        UserPO upd = new UserPO();
+        upd.setId(item.getId());
+        upd.setName("jeff1");
+        int updRowCount = userMapper.updateById(item);
+        System.out.println("updRowCount: " + updRowCount);
+
+        int delRowCount = userMapper.deleteById(item.getId());
+        System.out.println("delRowCount: " + delRowCount);
+
+        // 数据源上下文清空,避免影响后续的数据库操作
+        DynamicDataSourceContextHolder.poll();
+    }
 }
diff --git a/src/test/java/com/lunhan/xxx/po/UserPO.java b/src/test/java/com/lunhan/xxx/po/UserPO.java
new file mode 100644
index 0000000..ee7b513
--- /dev/null
+++ b/src/test/java/com/lunhan/xxx/po/UserPO.java
@@ -0,0 +1,20 @@
+package com.lunhan.xxx.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName(value = "user", schema = "public")
+public class UserPO {
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("name")
+    private String name;
+    @TableField("age")
+    private Integer age;
+    @TableField("email")
+    private String email;
+}
diff --git a/src/test/java/com/lunhan/xxx/repository/mapper/UserMapper.java b/src/test/java/com/lunhan/xxx/repository/mapper/UserMapper.java
new file mode 100644
index 0000000..1fc59f0
--- /dev/null
+++ b/src/test/java/com/lunhan/xxx/repository/mapper/UserMapper.java
@@ -0,0 +1,9 @@
+package com.lunhan.xxx.repository.mapper;
+
+import com.lunhan.xxx.po.UserPO;
+import com.lunhan.xxx.repository.BasicMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserMapper extends BasicMapper<UserPO> {
+}
diff --git a/src/test/java/com/lunhan/xxx/repository/test123.java b/src/test/java/com/lunhan/xxx/repository/test123.java
new file mode 100644
index 0000000..92f53cd
--- /dev/null
+++ b/src/test/java/com/lunhan/xxx/repository/test123.java
@@ -0,0 +1,4 @@
+package com.lunhan.xxx.repository;
+
+public class test123 {
+}
diff --git a/src/test/resources/application-dev.yml b/src/test/resources/application-dev.yml
index 2619b48..6105c1c 100644
--- a/src/test/resources/application-dev.yml
+++ b/src/test/resources/application-dev.yml
@@ -5,10 +5,22 @@
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
   datasource:
-    driver-class-name: org.postgresql.Driver
-    url: jdbc:postgresql://113.250.189.120:57654/test_db1
-    username: lunhan
-    password: lunhan.20240330
+    dynamic:
+      primary: master #设置默认的数据源或者数据源组,默认值即为 master
+      strict: false # 设置严格模式,当数据源找不到时,是否抛出异常,默认为false不抛出
+      datasource:
+        master: # 主库
+          #type: com.alibaba.druid.pool.DruidDataSource
+          driver-class-name: org.postgresql.Driver # 3.2.0开始支持SPI可省略此配置
+          url: jdbc:postgresql://113.250.189.120:57654/test_db2
+          username: lunhan
+          password: lunhan.20240330
+        test_db1: # 其他库
+          #type: com.alibaba.druid.pool.DruidDataSource
+          driver-class-name: org.postgresql.Driver
+          url: jdbc:postgresql://113.250.189.120:57654/test_db1
+          username: lunhan
+          password: lunhan.20240330
     druid:
       initial-size: 4 #连接池初始化大小
       min-idle: 10 #最小空闲连接数
@@ -18,8 +30,6 @@
       stat-view-servlet: #访问监控网页的登录用户名和密码
         login-username: druid
         login-password: lunhan123
-  jpa:
-    database-platform: org.hibernate.dialect.openGaussDialect
   redis:
     host: 127.0.0.1 # Redis服务器地址
     database: 2 # Redis数据库索引(默认为0)
@@ -38,26 +48,8 @@
     root: info
     com.lunhan.xxx: info
 
-jdbc-set:
-  sql-log: true
-
-# xxl-job配置
-xxl-job:
-  ### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
-  admin-addresses: http://113.250.189.120:10003/xxl-job-admin
-  ### 执行器通讯TOKEN [选填]:非空时启用;
-  access-token: lunhan.20231017
-  ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
-  executor-app-name: xxx-yyy-service
-  ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
-  ### 【!!!需要注意的是:如果调度服务和执行器不在同一内网,此地址需要部署xxl-job服务所在机器能访问到的外网地址!!!】
-  #executor-address: 113.250.189.120:1803
-  ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
-  #executor-ip: 113.250.189.120
-  ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
-  ### 【!!!建议配置(随机端口可能会占用其他服务,造成无法启动),且不能和Srping启动端口一样(启动报错端口被占用)!!!】
-  executor-port: 1803
-  ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
-  executor-log-path: ./logs/xxl-job/jobhandler
-  ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
-  executor-log-retention-days: 15
+# mybatis-plus 配置:
+mybatis-plus:
+  configuration:
+    ### 开启打印sql配置
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml
index c0d194a..16933ca 100644
--- a/src/test/resources/application.yml
+++ b/src/test/resources/application.yml
@@ -44,3 +44,11 @@
       #微信小程序消息服务器配置的EncodingAESKey
       aesKey:
       msgDataFormat: JSON
+
+# mybatis-plus 配置:
+mybatis-plus:
+  global-config:
+    db-config:
+      logic-delete-field: is_delete # 全局逻辑删除字段名
+      logic-delete-value: 1 # 逻辑已删除值
+      logic-not-delete-value: 0 # 逻辑未删除值

--
Gitblit v1.9.3