From c50a990a6916a5a295aaf4267a6adb9a5d2e703e Mon Sep 17 00:00:00 2001 From: hanjinfeng39 <2015102239@nit.edu.cn> Date: Sat, 20 Jan 2024 11:59:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E7=94=9F=E6=88=90=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E5=A2=9E=E5=8A=A0serialVersionUID=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../codegen/config/EntityConfig.java | 20 +++++++++++++++++++ .../codegen/config/GlobalConfig.java | 14 +++++++++++++ .../generator/impl/TableDefGenerator.java | 1 + .../main/resources/templates/enjoy/entity.tpl | 9 +++++++++ .../resources/templates/enjoy/tableDef.tpl | 10 ++++++++++ 5 files changed, 54 insertions(+) diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java index 7b517859..85cac658 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java @@ -77,6 +77,11 @@ public class EntityConfig implements Serializable { */ private String dataSource; + /** + * 项目jdk版本 + */ + private int jdkVersion; + /** * 获取类前缀。 */ @@ -229,6 +234,21 @@ public class EntityConfig implements Serializable { return this; } + /** + * 获取项目jdk版本 + */ + public int getJdkVersion() { + return jdkVersion; + } + + /** + * 设置项目jdk版本 + */ + public EntityConfig setJdkVersion(int jdkVersion) { + this.jdkVersion = jdkVersion; + return this; + } + public enum SwaggerVersion { FOX("FOX"), diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java index a0be3c2c..a8fe12fe 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java @@ -942,6 +942,20 @@ public class GlobalConfig implements Serializable { getEntityConfig().setDataSource(dataSource); } + /** + * @see EntityConfig#getJdkVersion() + */ + public int getEntityJdkVersion() { + return getEntityConfig().getJdkVersion(); + } + + /** + * @see EntityConfig#setJdkVersion(int) + */ + public void setEntityJdkVersion(int jdkVersion) { + getEntityConfig().setJdkVersion(jdkVersion); + } + public boolean isMapperGenerateEnable() { return mapperGenerateEnable; } diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/impl/TableDefGenerator.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/impl/TableDefGenerator.java index 420c6c2a..214e34d1 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/impl/TableDefGenerator.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/impl/TableDefGenerator.java @@ -69,6 +69,7 @@ public class TableDefGenerator implements IGenerator { params.put("packageConfig", packageConfig); params.put("tableDefConfig", tableDefConfig); params.put("javadocConfig", globalConfig.getJavadocConfig()); + params.put("entityConfig", globalConfig.getEntityConfig()); params.putAll(globalConfig.getCustomConfig()); globalConfig.getTemplateConfig().getTemplate().generate(params, templatePath, tableDefJavaFile); diff --git a/mybatis-flex-codegen/src/main/resources/templates/enjoy/entity.tpl b/mybatis-flex-codegen/src/main/resources/templates/enjoy/entity.tpl index d570c86b..7689bbe9 100644 --- a/mybatis-flex-codegen/src/main/resources/templates/enjoy/entity.tpl +++ b/mybatis-flex-codegen/src/main/resources/templates/enjoy/entity.tpl @@ -2,6 +2,7 @@ #set(withSwagger = entityConfig.isWithSwagger()) #set(swaggerVersion = entityConfig.getSwaggerVersion()) #set(withActiveRecord = entityConfig.isWithActiveRecord()) +#set(jdkVersion = entityConfig.getJdkVersion()) #set(entityClassName = table.buildEntityClassName()) package #(packageConfig.entityPackage); @@ -30,6 +31,9 @@ import lombok.Data; import lombok.NoArgsConstructor; #end #end +#if(jdkVersion >= 14) +import java.io.Serial; +#end /** * #(table.getComment()) 实体类。 @@ -58,6 +62,11 @@ import lombok.NoArgsConstructor; #(table.buildTableAnnotation()) public class #(entityClassName)#if(withActiveRecord) extends Model<#(entityClassName)>#else#(table.buildExtends())#(table.buildImplements())#end { + #if(jdkVersion >= 14) + @Serial + #end + private static final long serialVersionUID = 1L; + #for(column : table.columns) #set(comment = javadocConfig.formatColumnComment(column.comment)) #if(isNotBlank(comment)) diff --git a/mybatis-flex-codegen/src/main/resources/templates/enjoy/tableDef.tpl b/mybatis-flex-codegen/src/main/resources/templates/enjoy/tableDef.tpl index f7353103..1c5c9e8f 100644 --- a/mybatis-flex-codegen/src/main/resources/templates/enjoy/tableDef.tpl +++ b/mybatis-flex-codegen/src/main/resources/templates/enjoy/tableDef.tpl @@ -1,10 +1,15 @@ #set(tableDefClassName = table.buildTableDefClassName()) #set(schema = table.schema == null ? "" : table.schema) +#set(jdkVersion = entityConfig.getJdkVersion()) package #(packageConfig.tableDefPackage); import com.mybatisflex.core.query.QueryColumn; import com.mybatisflex.core.table.TableDef; +#if(jdkVersion >= 14) +import java.io.Serial; +#end + /** * #(table.getComment()) 表定义层。 * @@ -13,6 +18,11 @@ import com.mybatisflex.core.table.TableDef; */ public class #(tableDefClassName) extends TableDef { + #if(jdkVersion >= 14) + @Serial + #end + private static final long serialVersionUID = 1L; + /** * #(table.getComment()) */