From 38b7d5450780d9ff1e5697eec05f0f31abfdeb69 Mon Sep 17 00:00:00 2001 From: during Date: Thu, 10 Jun 2021 15:22:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feature:=20=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89SQL=20mapper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/framework/config/JacksonConfig.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java new file mode 100644 index 000000000..e6668222b --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java @@ -0,0 +1,30 @@ +package com.ruoyi.framework.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; + +@Configuration +public class JacksonConfig { + + @Bean + @Primary + @ConditionalOnMissingBean(ObjectMapper.class) + public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) + { + ObjectMapper objectMapper = builder.createXmlMapper(false).build(); + + // 全局配置序列化返回 JSON 处理 + SimpleModule simpleModule = new SimpleModule(); + //JSON Long ==> String + simpleModule.addSerializer(Long.class, ToStringSerializer.instance); + objectMapper.registerModule(simpleModule); + return objectMapper; + } + +} From 11dbb3f355771c1d41f260e2ed51b829c05e6427 Mon Sep 17 00:00:00 2001 From: during Date: Thu, 10 Jun 2021 15:39:07 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feature:=20=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E9=9B=AA=E8=8A=B1id=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E8=BF=98=E6=B2=A1=E6=9C=89=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application-dev.yml | 2 +- ruoyi-admin/src/main/resources/application.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index eb54d9c64..e2d43e1bd 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -8,7 +8,7 @@ spring: master: url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true username: root - password: root + password: mm123456 # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 3ea04c71e..7e3fcde49 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -158,7 +158,7 @@ mybatis-plus: # INPUT 用户输入ID # ASSIGN_ID 全局唯一ID # ASSIGN_UUID 全局唯一ID UUID - idType: AUTO + idType: ASSIGN_ID # 表名前缀 tablePrefix: null # 字段 format,例: %s,(对主键无效) From 1bae0ca3cad65032602c84a2f23d018eb1dafded Mon Sep 17 00:00:00 2001 From: during Date: Fri, 11 Jun 2021 17:15:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feature:=20=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E9=9B=AA=E8=8A=B1id=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E8=BF=98=E6=B2=A1=E6=9C=89=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/framework/config/JacksonConfig.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java index e6668222b..72f1773f4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java @@ -4,19 +4,26 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +/** + * Ming LI + * 当Mybatis plus设置为雪花ID时,使用此类,会把所有数字返回变为字符串返回适配前端Long型失真问题 + */ @Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) - public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) + @ConditionalOnProperty(value = "mybatis-plus.global-config.dbConfig.idType",havingValue = "ASSIGN_ID") + public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { + ObjectMapper objectMapper = builder.createXmlMapper(false).build(); // 全局配置序列化返回 JSON 处理