From 8c816794ef283ce6d4f573267d0137976bedd79b Mon Sep 17 00:00:00 2001 From: tingwen <623643629@qq.com> Date: Sat, 26 Dec 2020 18:29:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Lombok=20=E7=9A=84@SuperBuild?= =?UTF-8?q?er=E3=80=81@NoArgsConstructor=E3=80=81@AllArgsConstructor=20?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/generator/MapperPlugin.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/generator/src/main/java/tk/mybatis/mapper/generator/MapperPlugin.java b/generator/src/main/java/tk/mybatis/mapper/generator/MapperPlugin.java index 4ca3dfd..734c791 100644 --- a/generator/src/main/java/tk/mybatis/mapper/generator/MapperPlugin.java +++ b/generator/src/main/java/tk/mybatis/mapper/generator/MapperPlugin.java @@ -39,6 +39,7 @@ import java.util.*; * @author liuzh */ public class MapperPlugin extends FalseMethodPlugin { + private Set mappers = new HashSet(); private boolean caseSensitive = false; private boolean useMapperCommentGenerator = true; @@ -63,6 +64,11 @@ public class MapperPlugin extends FalseMethodPlugin { private boolean needsToString = false; //是否需要生成Accessors(chain = true)注解 private boolean needsAccessors = false; + private boolean needsBuilder = false; + private boolean needsSuperBuilder = false; + private boolean needsNoArgsConstructor = false; + private boolean needsAllArgsConstructor = false; + //是否需要生成EqualsAndHashCode注解 private boolean needsEqualsAndHashCode = false; //是否需要生成EqualsAndHashCode注解,并且“callSuper = true” @@ -154,6 +160,22 @@ public class MapperPlugin extends FalseMethodPlugin { topLevelClass.addImportedType("lombok.experimental.Accessors"); topLevelClass.addAnnotation("@Accessors(chain = true)"); } + if (this.needsSuperBuilder) { + topLevelClass.addImportedType("lombok.experimental.SuperBuilder"); + topLevelClass.addAnnotation("@SuperBuilder"); + } + if (this.needsBuilder) { + topLevelClass.addImportedType("lombok.Builder"); + topLevelClass.addAnnotation("@Builder"); + } + if (this.needsNoArgsConstructor) { + topLevelClass.addImportedType("lombok.NoArgsConstructor"); + topLevelClass.addAnnotation("@NoArgsConstructor"); + } + if (this.needsAllArgsConstructor) { + topLevelClass.addImportedType("lombok.AllArgsConstructor"); + topLevelClass.addAnnotation("@AllArgsConstructor"); + } // lombok扩展结束 // region swagger扩展 if (this.needsSwagger) { @@ -403,6 +425,10 @@ public class MapperPlugin extends FalseMethodPlugin { String lombokEqualsAndHashCodeCallSuper = getProperty("lombokEqualsAndHashCodeCallSuper", "false"); this.needsEqualsAndHashCodeAndCallSuper = this.needsEqualsAndHashCode && "TRUE".equalsIgnoreCase(lombokEqualsAndHashCodeCallSuper); this.needsAccessors = lombok.contains("Accessors"); + this.needsSuperBuilder = lombok.contains("SuperBuilder"); + this.needsBuilder = !this.needsSuperBuilder && lombok.contains("Builder"); + this.needsNoArgsConstructor = lombok.contains("NoArgsConstructor"); + this.needsAllArgsConstructor = lombok.contains("AllArgsConstructor"); } //swagger扩展 String swagger = getProperty("swagger", "false"); -- Gitee