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