From 1e1d31b5507de946780d5dec3de48f468b8c5b9b Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 17 May 2021 16:54:50 -0400 Subject: [PATCH 01/24] Checkstyle Updates --- .../xmlmapper/elements/AbstractXmlElementGenerator.java | 6 +++--- .../runtime/kotlin/KotlinMapperAndExtensionsGenerator.java | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index d90a0b3bd9..9fb82e3539 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -15,6 +15,9 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; +import java.util.Iterator; +import java.util.List; + import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; @@ -23,9 +26,6 @@ import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; import org.mybatis.generator.config.GeneratedKey; -import java.util.Iterator; -import java.util.List; - public abstract class AbstractXmlElementGenerator extends AbstractGenerator { public abstract void addElements(XmlElement parentElement); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java index 6b5f28f2f2..992e1ee715 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java @@ -154,7 +154,8 @@ protected boolean generate(KotlinFile kotlinFile, AbstractKotlinFunctionGenerato return false; } - protected boolean generate(KotlinFile kotlinFile, KotlinType kotlinType, AbstractKotlinFunctionGenerator generator) { + protected boolean generate(KotlinFile kotlinFile, KotlinType kotlinType, + AbstractKotlinFunctionGenerator generator) { KotlinFunctionAndImports mi = generator.generateMethodAndImports(); if (mi != null && generator.callPlugins(mi.getFunction(), kotlinFile)) { kotlinType.addNamedItem(mi.getFunction()); @@ -220,7 +221,8 @@ public List getKotlinFiles() { return answer; } - protected void addInsertOneMethod(KotlinFile mapperFile, KotlinType mapper, KotlinFile extensionsFile, String mapperName) { + protected void addInsertOneMethod(KotlinFile mapperFile, KotlinType mapper, KotlinFile extensionsFile, + String mapperName) { InsertMethodGenerator generator = new InsertMethodGenerator.Builder() .withContext(context) .withIntrospectedTable(introspectedTable) From 33f807991f55bdb5414986645b59eeae93ff9cfb Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Mon, 17 May 2021 17:03:15 -0400 Subject: [PATCH 02/24] Spotbugs Updates --- .../main/java/org/mybatis/generator/api/MyBatisGenerator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/MyBatisGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/MyBatisGenerator.java index b14e9b9919..6e02f0762c 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/MyBatisGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/MyBatisGenerator.java @@ -54,6 +54,8 @@ */ public class MyBatisGenerator { + private static final ProgressCallback NULL_PROGRESS_CALLBACK = new ProgressCallback() {}; + private final Configuration configuration; private final ShellCallback shellCallback; @@ -211,7 +213,7 @@ public void generate(ProgressCallback callback, Set contextIds, IOException, InterruptedException { if (callback == null) { - callback = new ProgressCallback() {}; + callback = NULL_PROGRESS_CALLBACK; } generatedJavaFiles.clear(); From 6edcad8437928e3f1e106ec96aa8863dcd52bf92 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 08:36:26 -0400 Subject: [PATCH 03/24] Pure Functions! --- .../elements/AbstractXmlElementGenerator.java | 15 ++++++++++----- .../elements/BaseColumnListElementGenerator.java | 2 +- .../elements/BlobColumnListElementGenerator.java | 2 +- .../elements/SimpleSelectAllElementGenerator.java | 6 ++---- .../SimpleSelectByPrimaryKeyElementGenerator.java | 2 +- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 9fb82e3539..f15224a51f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -15,6 +15,7 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -99,11 +100,13 @@ protected XmlElement getUpdateByExampleIncludeElement() { return ifElement; } - protected void buildSelectList(List columns, XmlElement element) { - buildSelectList(new StringBuilder(), columns, element); + protected List buildSelectList(List columns) { + return buildSelectList("", columns); //$NON-NLS-1$ } - protected void buildSelectList(StringBuilder sb, List columns, XmlElement element) { + protected List buildSelectList(String initial, List columns) { + List answer = new ArrayList<>(); + StringBuilder sb = new StringBuilder(initial); Iterator iter = columns.iterator(); while (iter.hasNext()) { sb.append(MyBatis3FormattingUtilities.getSelectListPhrase(iter @@ -114,13 +117,15 @@ protected void buildSelectList(StringBuilder sb, List column } if (sb.length() > 80) { - element.addElement(new TextElement(sb.toString())); + answer.add(new TextElement(sb.toString())); sb.setLength(0); } } if (sb.length() > 0) { - element.addElement(new TextElement(sb.toString())); + answer.add(new TextElement(sb.toString())); } + + return answer; } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BaseColumnListElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BaseColumnListElementGenerator.java index 136b81dc68..9f9f985f63 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BaseColumnListElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BaseColumnListElementGenerator.java @@ -33,7 +33,7 @@ public void addElements(XmlElement parentElement) { context.getCommentGenerator().addComment(answer); - buildSelectList(introspectedTable.getNonBLOBColumns(), answer); + buildSelectList(introspectedTable.getNonBLOBColumns()).forEach(answer::addElement); if (context.getPlugins().sqlMapBaseColumnListElementGenerated( answer, introspectedTable)) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BlobColumnListElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BlobColumnListElementGenerator.java index 9b2b4cd1c2..30376b20e6 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BlobColumnListElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/BlobColumnListElementGenerator.java @@ -33,7 +33,7 @@ public void addElements(XmlElement parentElement) { context.getCommentGenerator().addComment(answer); - buildSelectList(introspectedTable.getBLOBColumns(), answer); + buildSelectList(introspectedTable.getBLOBColumns()).forEach(answer::addElement); if (context.getPlugins().sqlMapBlobColumnListElementGenerated( answer, introspectedTable)) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java index 34cf903b71..5dcee39f7b 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java @@ -39,11 +39,9 @@ public void addElements(XmlElement parentElement) { context.getCommentGenerator().addComment(answer); - StringBuilder sb = new StringBuilder(); - sb.append("select "); //$NON-NLS-1$ - buildSelectList(sb, introspectedTable.getAllColumns(), answer); + buildSelectList("select ", introspectedTable.getAllColumns()).forEach(answer::addElement); //$NON-NLS-1$ - sb.setLength(0); + StringBuilder sb = new StringBuilder(); sb.append("from "); //$NON-NLS-1$ sb.append(introspectedTable .getAliasedFullyQualifiedTableNameAtRuntime()); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java index 81a9e4fe88..cf8903d4ed 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java @@ -63,7 +63,7 @@ public void addElements(XmlElement parentElement) { sb.append("' as QUERYID,"); //$NON-NLS-1$ } - buildSelectList(sb, introspectedTable.getAllColumns(), answer); + buildSelectList(sb.toString(), introspectedTable.getAllColumns()).forEach(answer::addElement); sb.setLength(0); sb.append("from "); //$NON-NLS-1$ From c03bc93183d8d93c92192795aab8faee1e0e64d7 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 08:42:36 -0400 Subject: [PATCH 04/24] Polishing --- .../elements/CountByExampleElementGenerator.java | 7 ++----- .../elements/DeleteByExampleElementGenerator.java | 7 ++----- .../SelectByExampleWithBLOBsElementGenerator.java | 11 ++++------- .../SelectByExampleWithoutBLOBsElementGenerator.java | 7 ++----- .../UpdateByExampleWithBLOBsElementGenerator.java | 3 +-- .../UpdateByExampleWithoutBLOBsElementGenerator.java | 3 +-- 6 files changed, 12 insertions(+), 26 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/CountByExampleElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/CountByExampleElementGenerator.java index 69e7764742..823c0383e5 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/CountByExampleElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/CountByExampleElementGenerator.java @@ -29,11 +29,9 @@ public CountByExampleElementGenerator() { public void addElements(XmlElement parentElement) { XmlElement answer = new XmlElement("select"); //$NON-NLS-1$ - String fqjt = introspectedTable.getExampleType(); - answer.addAttribute(new Attribute( "id", introspectedTable.getCountByExampleStatementId())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", fqjt)); //$NON-NLS-1$ + answer.addAttribute(new Attribute("parameterType", introspectedTable.getExampleType())); //$NON-NLS-1$ answer.addAttribute(new Attribute("resultType", "java.lang.Long")); //$NON-NLS-1$ //$NON-NLS-2$ context.getCommentGenerator().addComment(answer); @@ -43,8 +41,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(new TextElement(s)); answer.addElement(getExampleIncludeElement()); - if (context.getPlugins().sqlMapCountByExampleElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins().sqlMapCountByExampleElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByExampleElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByExampleElementGenerator.java index 973980be52..bc6ba9be1a 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByExampleElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByExampleElementGenerator.java @@ -30,11 +30,9 @@ public DeleteByExampleElementGenerator() { public void addElements(XmlElement parentElement) { XmlElement answer = new XmlElement("delete"); //$NON-NLS-1$ - String fqjt = introspectedTable.getExampleType(); - answer.addAttribute(new Attribute( "id", introspectedTable.getDeleteByExampleStatementId())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", fqjt)); //$NON-NLS-1$ + answer.addAttribute(new Attribute("parameterType", introspectedTable.getExampleType())); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -43,8 +41,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(new TextElement(s)); answer.addElement(getExampleIncludeElement()); - if (context.getPlugins().sqlMapDeleteByExampleElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins().sqlMapDeleteByExampleElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java index 46b6fb97ce..f55da77eaa 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java @@ -30,15 +30,13 @@ public SelectByExampleWithBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - String fqjt = introspectedTable.getExampleType(); XmlElement answer = new XmlElement("select"); //$NON-NLS-1$ - answer - .addAttribute(new Attribute( - "id", introspectedTable.getSelectByExampleWithBLOBsStatementId())); //$NON-NLS-1$ + answer.addAttribute(new Attribute( + "id", introspectedTable.getSelectByExampleWithBLOBsStatementId())); //$NON-NLS-1$ answer.addAttribute(new Attribute( "resultMap", introspectedTable.getResultMapWithBLOBsId())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", fqjt)); //$NON-NLS-1$ + answer.addAttribute(new Attribute("parameterType", introspectedTable.getExampleType())); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -49,8 +47,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(ifElement); StringBuilder sb = new StringBuilder(); - if (stringHasValue(introspectedTable - .getSelectByExampleQueryId())) { + if (stringHasValue(introspectedTable.getSelectByExampleQueryId())) { sb.append('\''); sb.append(introspectedTable.getSelectByExampleQueryId()); sb.append("' as QUERYID,"); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java index c2c17c4a22..7680ee3ec3 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java @@ -30,15 +30,13 @@ public SelectByExampleWithoutBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - String fqjt = introspectedTable.getExampleType(); - XmlElement answer = new XmlElement("select"); //$NON-NLS-1$ answer.addAttribute(new Attribute("id", //$NON-NLS-1$ introspectedTable.getSelectByExampleStatementId())); answer.addAttribute(new Attribute( "resultMap", introspectedTable.getBaseResultMapId())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", fqjt)); //$NON-NLS-1$ + answer.addAttribute(new Attribute("parameterType", introspectedTable.getExampleType())); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -49,8 +47,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(ifElement); StringBuilder sb = new StringBuilder(); - if (stringHasValue(introspectedTable - .getSelectByExampleQueryId())) { + if (stringHasValue(introspectedTable.getSelectByExampleQueryId())) { sb.append('\''); sb.append(introspectedTable.getSelectByExampleQueryId()); sb.append("' as QUERYID,"); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java index 166b626310..3b1183c96e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java @@ -79,8 +79,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(getUpdateByExampleIncludeElement()); if (context.getPlugins() - .sqlMapUpdateByExampleWithBLOBsElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByExampleWithBLOBsElementGenerated(answer,introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java index 3ed76412ae..b6bb2088ac 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java @@ -80,8 +80,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(getUpdateByExampleIncludeElement()); if (context.getPlugins() - .sqlMapUpdateByExampleWithoutBLOBsElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } From a17251be11f9708074e9d42399dcdb9b79bbccca Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 09:02:20 -0400 Subject: [PATCH 05/24] Common primary key where clause generator --- .../elements/AbstractXmlElementGenerator.java | 21 +++++++++++ .../DeleteByPrimaryKeyElementGenerator.java | 36 ++++--------------- ...ectByExampleWithBLOBsElementGenerator.java | 2 +- ...ByExampleWithoutBLOBsElementGenerator.java | 2 +- .../SelectByPrimaryKeyElementGenerator.java | 29 +++------------ ...pleSelectByPrimaryKeyElementGenerator.java | 23 ++---------- ...ByPrimaryKeySelectiveElementGenerator.java | 24 ++----------- ...ByPrimaryKeyWithBLOBsElementGenerator.java | 24 ++----------- ...rimaryKeyWithoutBLOBsElementGenerator.java | 24 ++----------- 9 files changed, 46 insertions(+), 139 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index f15224a51f..4886f1da1f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -128,4 +128,25 @@ protected List buildSelectList(String initial, List buildPrimaryKeyWhereClause() { + List answer = new ArrayList<>(); + boolean first = true; + for (IntrospectedColumn introspectedColumn : introspectedTable.getPrimaryKeyColumns()) { + String line; + if (first) { + line = "where "; //$NON-NLS-1$ + first = false; + } else { + line = " and "; //$NON-NLS-1$ + } + + line += MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn); + line += " = "; //$NON-NLS-1$ + line += MyBatis3FormattingUtilities.getParameterClause(introspectedColumn); + answer.add(new TextElement(line)); + } + + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java index 72d432d9ba..8e0fa037bc 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,11 +15,9 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class DeleteByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator { @@ -50,38 +48,18 @@ public void addElements(XmlElement parentElement) { .get(0).getFullyQualifiedJavaType().toString(); } } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterClass)); + answer.addAttribute(new Attribute("parameterType", parameterClass)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); - StringBuilder sb = new StringBuilder(); - sb.append("delete from "); //$NON-NLS-1$ - sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime()); - answer.addElement(new TextElement(sb.toString())); + String sb = "delete from " + //$NON-NLS-1$ + introspectedTable.getFullyQualifiedTableNameAtRuntime(); + answer.addElement(new TextElement(sb)); - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapDeleteByPrimaryKeyElementGenerated(answer, - introspectedTable)) { + .sqlMapDeleteByPrimaryKeyElementGenerated(answer,introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java index f55da77eaa..68949d03c9 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java index 7680ee3ec3..b53145ac1e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java index 978a04d149..a2e05dc501 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,9 @@ import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class SelectByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator { @@ -58,8 +56,7 @@ public void addElements(XmlElement parentElement) { } } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType)); + answer.addAttribute(new Attribute("parameterType", parameterType)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -85,28 +82,10 @@ public void addElements(XmlElement parentElement) { .getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } - - sb.append(MyBatis3FormattingUtilities - .getAliasedEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapSelectByPrimaryKeyElementGenerated(answer, - introspectedTable)) { + .sqlMapSelectByPrimaryKeyElementGenerated(answer,introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java index cf8903d4ed..dd8443518d 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java @@ -71,27 +71,10 @@ public void addElements(XmlElement parentElement) { .getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); - sb.append(MyBatis3FormattingUtilities - .getAliasedEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } - - if (context.getPlugins().sqlMapSelectByPrimaryKeyElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins() + .sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java index b610f9ac16..af4fb607b3 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -78,28 +78,10 @@ public void addElements(XmlElement parentElement) { isNotNullElement.addElement(new TextElement(sb.toString())); } - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapUpdateByPrimaryKeySelectiveElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByPrimaryKeySelectiveElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java index 57e4a9fdcc..c35f173fb0 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -86,28 +86,10 @@ public void addElements(XmlElement parentElement) { } } - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java index 570ba6450b..c8b87c5c10 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -82,28 +82,10 @@ public void addElements(XmlElement parentElement) { } } - boolean and = false; - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - sb.setLength(0); - if (and) { - sb.append(" and "); //$NON-NLS-1$ - } else { - sb.append("where "); //$NON-NLS-1$ - and = true; - } - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - answer.addElement(new TextElement(sb.toString())); - } + buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } From 34bb320111b71e89e4e612206403595e295faece Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 09:34:20 -0400 Subject: [PATCH 06/24] Common insert generator --- .../elements/AbstractXmlElementGenerator.java | 31 ++++++++++++++ .../ExampleWhereClauseElementGenerator.java | 20 ++++----- .../elements/InsertElementGenerator.java | 41 +++---------------- .../InsertSelectiveElementGenerator.java | 38 ++--------------- 4 files changed, 47 insertions(+), 83 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 4886f1da1f..38546c94e0 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -20,6 +20,7 @@ import java.util.List; import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; @@ -149,4 +150,34 @@ protected List buildPrimaryKeyWhereClause() { return answer; } + + protected XmlElement buildInitialInsert(String statementId, FullyQualifiedJavaType parameterType) { + XmlElement answer = new XmlElement("insert"); //$NON-NLS-1$ + + answer.addAttribute(new Attribute("id", statementId)); //$NON-NLS-1$ + + answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ + parameterType.getFullyQualifiedName())); + + context.getCommentGenerator().addComment(answer); + + GeneratedKey gk = introspectedTable.getGeneratedKey(); + if (gk != null) { + introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { + // if the column is null, then it's a configuration error. The + // warning has already been reported + if (gk.isJdbcStandard()) { + answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ + answer.addAttribute( + new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ + answer.addAttribute( + new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ + } else { + answer.addElement(getSelectKey(introspectedColumn, gk)); + } + }); + } + + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java index 235a57a5d6..d53644e735 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,9 +37,8 @@ public void addElements(XmlElement parentElement) { XmlElement answer = new XmlElement("sql"); //$NON-NLS-1$ if (isForUpdateByExample) { - answer - .addAttribute(new Attribute( - "id", introspectedTable.getMyBatis3UpdateByExampleWhereClauseId())); //$NON-NLS-1$ + answer.addAttribute(new Attribute( + "id", introspectedTable.getMyBatis3UpdateByExampleWhereClauseId())); //$NON-NLS-1$ } else { answer.addAttribute(new Attribute( "id", introspectedTable.getExampleWhereClauseId())); //$NON-NLS-1$ @@ -75,18 +74,13 @@ public void addElements(XmlElement parentElement) { trimElement.addElement(getMiddleForEachElement(null)); - for (IntrospectedColumn introspectedColumn : introspectedTable - .getNonBLOBColumns()) { - if (stringHasValue(introspectedColumn - .getTypeHandler())) { - trimElement - .addElement(getMiddleForEachElement(introspectedColumn)); + for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) { + if (stringHasValue(introspectedColumn.getTypeHandler())) { + trimElement.addElement(getMiddleForEachElement(introspectedColumn)); } } - if (context.getPlugins() - .sqlMapExampleWhereClauseElementGenerated(answer, - introspectedTable)) { + if (context.getPlugins().sqlMapExampleWhereClauseElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java index 7589dbec7e..4b922c39c7 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,12 +21,10 @@ import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.OutputUtilities; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; -import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; -import org.mybatis.generator.config.GeneratedKey; public class InsertElementGenerator extends AbstractXmlElementGenerator { @@ -39,42 +37,14 @@ public InsertElementGenerator(boolean isSimple) { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("insert"); //$NON-NLS-1$ - - answer.addAttribute(new Attribute( - "id", introspectedTable.getInsertStatementId())); //$NON-NLS-1$ - FullyQualifiedJavaType parameterType; if (isSimple) { - parameterType = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } else { - parameterType = introspectedTable.getRules() - .calculateAllFieldsClass(); + parameterType = introspectedTable.getRules().calculateAllFieldsClass(); } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType.getFullyQualifiedName())); - - context.getCommentGenerator().addComment(answer); - - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - // if the column is null, then it's a configuration error. The - // warning has already been reported - if (gk.isJdbcStandard()) { - answer.addAttribute(new Attribute( - "useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ - answer.addAttribute(new Attribute( - "keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - answer.addAttribute(new Attribute( - "keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ - } else { - answer.addElement(getSelectKey(introspectedColumn, gk)); - } - }); - } + XmlElement answer = buildInitialInsert(introspectedTable.getInsertStatementId(), parameterType); StringBuilder insertClause = new StringBuilder(); @@ -122,8 +92,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(new TextElement(clause)); } - if (context.getPlugins().sqlMapInsertElementGenerated(answer, - introspectedTable)) { + if (context.getPlugins().sqlMapInsertElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java index e9c886d811..0b912eb491 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,11 @@ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; -import org.mybatis.generator.config.GeneratedKey; public class InsertSelectiveElementGenerator extends AbstractXmlElementGenerator { @@ -33,35 +31,8 @@ public InsertSelectiveElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("insert"); //$NON-NLS-1$ - - answer.addAttribute(new Attribute( - "id", introspectedTable.getInsertSelectiveStatementId())); //$NON-NLS-1$ - - FullyQualifiedJavaType parameterType = introspectedTable.getRules() - .calculateAllFieldsClass(); - - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType.getFullyQualifiedName())); - - context.getCommentGenerator().addComment(answer); - - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - // if the column is null, then it's a configuration error. The - // warning has already been reported - if (gk.isJdbcStandard()) { - answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ - answer.addAttribute( - new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - answer.addAttribute( - new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ - } else { - answer.addElement(getSelectKey(introspectedColumn, gk)); - } - }); - } + XmlElement answer = buildInitialInsert(introspectedTable.getInsertSelectiveStatementId(), + introspectedTable.getRules().calculateAllFieldsClass()); StringBuilder sb = new StringBuilder(); @@ -135,8 +106,7 @@ public void addElements(XmlElement parentElement) { valuesTrimElement.addElement(valuesNotNullElement); } - if (context.getPlugins().sqlMapInsertSelectiveElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins().sqlMapInsertSelectiveElementGenerated( answer, introspectedTable)) { parentElement.addElement(answer); } } From 18b50722471c944cca3fb06afb0e06cc503a9140 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 10:48:09 -0400 Subject: [PATCH 07/24] Common elements for result maps --- .../elements/AbstractXmlElementGenerator.java | 100 ++++++++++++++++++ .../ResultMapWithBLOBsElementGenerator.java | 87 +-------------- ...ResultMapWithoutBLOBsElementGenerator.java | 92 +--------------- 3 files changed, 109 insertions(+), 170 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 38546c94e0..b32e8723b0 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -28,6 +28,8 @@ import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; import org.mybatis.generator.config.GeneratedKey; +import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; + public abstract class AbstractXmlElementGenerator extends AbstractGenerator { public abstract void addElements(XmlElement parentElement); @@ -180,4 +182,102 @@ protected XmlElement buildInitialInsert(String statementId, FullyQualifiedJavaTy return answer; } + + protected enum ResultElementType { + ID("id"), //$NON-NLS-1$ + RESULT("result"); //$NON-NLS-1$ + + private final String value; + + ResultElementType(String value) { + this.value = value; + } + } + + protected List buildResultMapItems(ResultElementType elementType, List columns) { + List answer = new ArrayList<>(); + for (IntrospectedColumn introspectedColumn : columns) { + XmlElement resultElement = new XmlElement(elementType.value); + + resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(new Attribute( + "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ + resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ + introspectedColumn.getJdbcTypeName())); + + if (stringHasValue(introspectedColumn.getTypeHandler())) { + resultElement.addAttribute(new Attribute( + "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ + } + + answer.add(resultElement); + } + + return answer; + } + + protected XmlElement buildConstructorElement(boolean includeBlobColumns) { + XmlElement constructor = new XmlElement("constructor"); //$NON-NLS-1$ + + for (IntrospectedColumn introspectedColumn : introspectedTable + .getPrimaryKeyColumns()) { + XmlElement resultElement = new XmlElement("idArg"); //$NON-NLS-1$ + + resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ + introspectedColumn.getJdbcTypeName())); + resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ + introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName())); + + if (stringHasValue(introspectedColumn.getTypeHandler())) { + resultElement.addAttribute(new Attribute( + "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ + } + + constructor.addElement(resultElement); + } + + List columns; + if (includeBlobColumns) { + columns = introspectedTable.getNonPrimaryKeyColumns(); + } else { + columns = introspectedTable.getBaseColumns(); + } + for (IntrospectedColumn introspectedColumn : columns) { + XmlElement resultElement = new XmlElement("arg"); //$NON-NLS-1$ + + resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ + introspectedColumn.getJdbcTypeName())); + + if (introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) { + // need to use the MyBatis type alias for a primitive byte + String s = '_' + + introspectedColumn.getFullyQualifiedJavaType().getShortName(); + resultElement.addAttribute(new Attribute("javaType", s)); //$NON-NLS-1$ + } else if ("byte[]".equals(introspectedColumn.getFullyQualifiedJavaType() //$NON-NLS-1$ + .getFullyQualifiedName())) { + // need to use the MyBatis type alias for a primitive byte arry + resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ + "_byte[]")); //$NON-NLS-1$ + } else { + resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ + introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName())); + } + + if (stringHasValue(introspectedColumn.getTypeHandler())) { + resultElement.addAttribute(new Attribute( + "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ + } + + constructor.addElement(resultElement); + } + + return constructor; + } + + protected Attribute generateColumnAttribute(IntrospectedColumn introspectedColumn) { + return new Attribute("column", //$NON-NLS-1$ + MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap(introspectedColumn)); + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java index 026d2cea6b..8c68cec083 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java @@ -15,12 +15,8 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class ResultMapWithBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -62,92 +58,17 @@ public void addElements(XmlElement parentElement) { } if (context.getPlugins() - .sqlMapResultMapWithBLOBsElementGenerated(answer, - introspectedTable)) { + .sqlMapResultMapWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } private void addResultMapElements(XmlElement answer) { - for (IntrospectedColumn introspectedColumn : introspectedTable - .getBLOBColumns()) { - XmlElement resultElement = new XmlElement("result"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - resultElement.addAttribute(new Attribute( - "jdbcType", introspectedColumn.getJdbcTypeName())); //$NON-NLS-1$ - - if (stringHasValue(introspectedColumn - .getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - answer.addElement(resultElement); - } + buildResultMapItems(ResultElementType.RESULT, introspectedTable.getBLOBColumns()) + .forEach(answer::addElement); } private void addResultMapConstructorElements(XmlElement answer) { - XmlElement constructor = new XmlElement("constructor"); //$NON-NLS-1$ - - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - XmlElement resultElement = new XmlElement("idArg"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "jdbcType", introspectedColumn.getJdbcTypeName())); //$NON-NLS-1$ - resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ - introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName())); - - if (stringHasValue(introspectedColumn - .getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - constructor.addElement(resultElement); - } - - for (IntrospectedColumn introspectedColumn : introspectedTable - .getNonPrimaryKeyColumns()) { - XmlElement resultElement = new XmlElement("arg"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "jdbcType", introspectedColumn.getJdbcTypeName())); //$NON-NLS-1$ - - if (introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) { - // need to use the MyBatis type alias for a primitive byte - String s = '_' - + introspectedColumn.getFullyQualifiedJavaType().getShortName(); - resultElement.addAttribute(new Attribute("javaType", s)); //$NON-NLS-1$ - } else if ("byte[]".equals(introspectedColumn.getFullyQualifiedJavaType() //$NON-NLS-1$ - .getFullyQualifiedName())) { - // need to use the MyBatis type alias for a primitive byte arry - resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ - "_byte[]")); //$NON-NLS-1$ - } else { - resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ - introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName())); - } - - if (stringHasValue(introspectedColumn - .getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - constructor.addElement(resultElement); - } - - answer.addElement(constructor); - } - - private Attribute generateColumnAttribute(IntrospectedColumn introspectedColumn) { - return new Attribute("column", //$NON-NLS-1$ - MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap(introspectedColumn)); + answer.addElement(buildConstructorElement(true)); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java index 6591c93266..629d9d7b89 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,14 +15,11 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; - import java.util.List; import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class ResultMapWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -69,23 +66,8 @@ public void addElements(XmlElement parentElement) { } private void addResultMapElements(XmlElement answer) { - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - XmlElement resultElement = new XmlElement("id"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ - introspectedColumn.getJdbcTypeName())); - - if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - answer.addElement(resultElement); - } + buildResultMapItems(ResultElementType.ID, introspectedTable.getPrimaryKeyColumns()) + .forEach(answer::addElement); List columns; if (isSimple) { @@ -93,75 +75,11 @@ private void addResultMapElements(XmlElement answer) { } else { columns = introspectedTable.getBaseColumns(); } - for (IntrospectedColumn introspectedColumn : columns) { - XmlElement resultElement = new XmlElement("result"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ - introspectedColumn.getJdbcTypeName())); - - if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - answer.addElement(resultElement); - } + buildResultMapItems(ResultElementType.RESULT, columns).forEach(answer::addElement); } private void addResultMapConstructorElements(XmlElement answer) { - XmlElement constructor = new XmlElement("constructor"); //$NON-NLS-1$ - - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - XmlElement resultElement = new XmlElement("idArg"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ - introspectedColumn.getJdbcTypeName())); - resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ - introspectedColumn.getFullyQualifiedJavaType() - .getFullyQualifiedName())); - - if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - constructor.addElement(resultElement); - } - - List columns; - if (isSimple) { - columns = introspectedTable.getNonPrimaryKeyColumns(); - } else { - columns = introspectedTable.getBaseColumns(); - } - for (IntrospectedColumn introspectedColumn : columns) { - XmlElement resultElement = new XmlElement("arg"); //$NON-NLS-1$ - - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ - introspectedColumn.getJdbcTypeName())); - resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ - introspectedColumn.getFullyQualifiedJavaType() - .getFullyQualifiedName())); - - if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ - } - - constructor.addElement(resultElement); - } - - answer.addElement(constructor); - } - - private Attribute generateColumnAttribute(IntrospectedColumn introspectedColumn) { - return new Attribute("column", //$NON-NLS-1$ - MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap(introspectedColumn)); + answer.addElement(buildConstructorElement(isSimple)); } } From 5e0953dd727c795a75695e0a0b317bf36a25c621 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 14:13:48 -0400 Subject: [PATCH 08/24] Polishing --- .../xmlmapper/elements/AbstractXmlElementGenerator.java | 4 ++-- .../elements/DeleteByPrimaryKeyElementGenerator.java | 4 ++-- .../xmlmapper/elements/InsertSelectiveElementGenerator.java | 2 +- .../elements/SelectByPrimaryKeyElementGenerator.java | 5 ++--- .../elements/SimpleSelectByPrimaryKeyElementGenerator.java | 5 +---- 5 files changed, 8 insertions(+), 12 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index b32e8723b0..95dea26549 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -15,6 +15,8 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; +import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -28,8 +30,6 @@ import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; import org.mybatis.generator.config.GeneratedKey; -import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; - public abstract class AbstractXmlElementGenerator extends AbstractGenerator { public abstract void addElements(XmlElement parentElement); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java index 8e0fa037bc..1c2a4c23f9 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/DeleteByPrimaryKeyElementGenerator.java @@ -52,8 +52,8 @@ public void addElements(XmlElement parentElement) { context.getCommentGenerator().addComment(answer); - String sb = "delete from " + //$NON-NLS-1$ - introspectedTable.getFullyQualifiedTableNameAtRuntime(); + String sb = "delete from " //$NON-NLS-1$ + + introspectedTable.getFullyQualifiedTableNameAtRuntime(); answer.addElement(new TextElement(sb)); buildPrimaryKeyWhereClause().forEach(answer::addElement); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java index 0b912eb491..bdcc70525f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java @@ -106,7 +106,7 @@ public void addElements(XmlElement parentElement) { valuesTrimElement.addElement(valuesNotNullElement); } - if (context.getPlugins().sqlMapInsertSelectiveElementGenerated( answer, introspectedTable)) { + if (context.getPlugins().sqlMapInsertSelectiveElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java index a2e05dc501..4b1e4b7275 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java @@ -63,8 +63,7 @@ public void addElements(XmlElement parentElement) { StringBuilder sb = new StringBuilder(); sb.append("select "); //$NON-NLS-1$ - if (stringHasValue(introspectedTable - .getSelectByPrimaryKeyQueryId())) { + if (stringHasValue(introspectedTable.getSelectByPrimaryKeyQueryId())) { sb.append('\''); sb.append(introspectedTable.getSelectByPrimaryKeyQueryId()); sb.append("' as QUERYID,"); //$NON-NLS-1$ @@ -85,7 +84,7 @@ public void addElements(XmlElement parentElement) { buildPrimaryKeyWhereClause().forEach(answer::addElement); if (context.getPlugins() - .sqlMapSelectByPrimaryKeyElementGenerated(answer,introspectedTable)) { + .sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java index dd8443518d..b7cbca11b9 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java @@ -17,11 +17,9 @@ import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class SimpleSelectByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator { @@ -49,8 +47,7 @@ public void addElements(XmlElement parentElement) { .getFullyQualifiedJavaType().toString(); } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType)); + answer.addAttribute(new Attribute("parameterType", parameterType)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); From 0bd3a5edd7823733e4eb12d1aa881767d20b9281 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 14:43:14 -0400 Subject: [PATCH 09/24] Common Update By Example Element --- .../elements/AbstractXmlElementGenerator.java | 46 ++++++++++++++++ ...ateByExampleSelectiveElementGenerator.java | 3 +- ...ateByExampleWithBLOBsElementGenerator.java | 55 +------------------ ...ByExampleWithoutBLOBsElementGenerator.java | 54 +----------------- 4 files changed, 52 insertions(+), 106 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 95dea26549..2e34651910 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -22,11 +22,13 @@ import java.util.List; import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.dom.OutputUtilities; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; import org.mybatis.generator.codegen.AbstractGenerator; +import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; import org.mybatis.generator.config.GeneratedKey; @@ -280,4 +282,48 @@ protected Attribute generateColumnAttribute(IntrospectedColumn introspectedColum return new Attribute("column", //$NON-NLS-1$ MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap(introspectedColumn)); } + + protected XmlElement generateUpdateByExampleElement(String statementId, List columns) { + XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ + + answer.addAttribute(new Attribute("id", statementId)); //$NON-NLS-1$ + + answer.addAttribute(new Attribute("parameterType", "map")); //$NON-NLS-1$ //$NON-NLS-2$ + context.getCommentGenerator().addComment(answer); + + StringBuilder sb = new StringBuilder(); + sb.append("update "); //$NON-NLS-1$ + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); + answer.addElement(new TextElement(sb.toString())); + + // set up for first column + sb.setLength(0); + sb.append("set "); //$NON-NLS-1$ + + Iterator iter = ListUtilities.removeGeneratedAlwaysColumns(columns).iterator(); + while (iter.hasNext()) { + IntrospectedColumn introspectedColumn = iter.next(); + + sb.append(MyBatis3FormattingUtilities + .getAliasedEscapedColumnName(introspectedColumn)); + sb.append(" = "); //$NON-NLS-1$ + sb.append(MyBatis3FormattingUtilities.getParameterClause( + introspectedColumn, "row.")); //$NON-NLS-1$ + + if (iter.hasNext()) { + sb.append(','); + } + + answer.addElement(new TextElement(sb.toString())); + + // set up for the next column + if (iter.hasNext()) { + sb.setLength(0); + OutputUtilities.xmlIndent(sb, 1); + } + } + + answer.addElement(getUpdateByExampleIncludeElement()); + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java index 5a991e6bd3..c9ad9258eb 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java @@ -72,8 +72,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(getUpdateByExampleIncludeElement()); if (context.getPlugins() - .sqlMapUpdateByExampleSelectiveElementGenerated(answer, - introspectedTable)) { + .sqlMapUpdateByExampleSelectiveElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java index 3b1183c96e..0e9ad3bfe6 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java @@ -15,15 +15,7 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.dom.OutputUtilities; -import org.mybatis.generator.api.dom.xml.Attribute; -import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.ListUtilities; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class UpdateByExampleWithBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -34,52 +26,11 @@ public UpdateByExampleWithBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ - - answer.addAttribute(new Attribute("id", //$NON-NLS-1$ - introspectedTable.getUpdateByExampleWithBLOBsStatementId())); - - answer.addAttribute(new Attribute("parameterType", "map")); //$NON-NLS-1$ //$NON-NLS-2$ - context.getCommentGenerator().addComment(answer); - - StringBuilder sb = new StringBuilder(); - sb.append("update "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); - answer.addElement(new TextElement(sb.toString())); - - // set up for first column - sb.setLength(0); - sb.append("set "); //$NON-NLS-1$ - - Iterator iter = - ListUtilities.removeGeneratedAlwaysColumns(introspectedTable.getAllColumns()).iterator(); - while (iter.hasNext()) { - IntrospectedColumn introspectedColumn = iter.next(); - - sb.append(MyBatis3FormattingUtilities - .getAliasedEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities.getParameterClause( - introspectedColumn, "row.")); //$NON-NLS-1$ - - if (iter.hasNext()) { - sb.append(','); - } - - answer.addElement(new TextElement(sb.toString())); - - // set up for the next column - if (iter.hasNext()) { - sb.setLength(0); - OutputUtilities.xmlIndent(sb, 1); - } - } - - answer.addElement(getUpdateByExampleIncludeElement()); + XmlElement answer = generateUpdateByExampleElement(introspectedTable.getUpdateByExampleWithBLOBsStatementId(), + introspectedTable.getAllColumns()); if (context.getPlugins() - .sqlMapUpdateByExampleWithBLOBsElementGenerated(answer,introspectedTable)) { + .sqlMapUpdateByExampleWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java index b6bb2088ac..e64aad6d73 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java @@ -15,15 +15,7 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.dom.OutputUtilities; -import org.mybatis.generator.api.dom.xml.Attribute; -import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.ListUtilities; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class UpdateByExampleWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -34,50 +26,8 @@ public UpdateByExampleWithoutBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ - - answer.addAttribute(new Attribute("id", //$NON-NLS-1$ - introspectedTable.getUpdateByExampleStatementId())); - - answer.addAttribute(new Attribute("parameterType", "map")); //$NON-NLS-1$ //$NON-NLS-2$ - - context.getCommentGenerator().addComment(answer); - - StringBuilder sb = new StringBuilder(); - sb.append("update "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); - answer.addElement(new TextElement(sb.toString())); - - // set up for first column - sb.setLength(0); - sb.append("set "); //$NON-NLS-1$ - - Iterator iter = - ListUtilities.removeGeneratedAlwaysColumns(introspectedTable.getNonBLOBColumns()).iterator(); - while (iter.hasNext()) { - IntrospectedColumn introspectedColumn = iter.next(); - - sb.append(MyBatis3FormattingUtilities - .getAliasedEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities.getParameterClause( - introspectedColumn, "row.")); //$NON-NLS-1$ - - if (iter.hasNext()) { - sb.append(','); - } - - answer.addElement(new TextElement(sb.toString())); - - // set up for the next column - if (iter.hasNext()) { - sb.setLength(0); - OutputUtilities.xmlIndent(sb, 1); - } - } - - answer.addElement(getUpdateByExampleIncludeElement()); + XmlElement answer = generateUpdateByExampleElement(introspectedTable.getUpdateByExampleStatementId(), + introspectedTable.getNonBLOBColumns()); if (context.getPlugins() .sqlMapUpdateByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) { From 79026078e5b840361dac0b994df47b473db9b221 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 15:17:58 -0400 Subject: [PATCH 10/24] Common Update By Primary Key Element --- .../elements/AbstractXmlElementGenerator.java | 56 ++++++++++++++++-- ...ateByExampleSelectiveElementGenerator.java | 6 +- ...ateByExampleWithBLOBsElementGenerator.java | 2 +- ...ByExampleWithoutBLOBsElementGenerator.java | 2 +- ...ByPrimaryKeySelectiveElementGenerator.java | 9 +-- ...ByPrimaryKeyWithBLOBsElementGenerator.java | 58 ++----------------- ...rimaryKeyWithoutBLOBsElementGenerator.java | 56 +++--------------- 7 files changed, 69 insertions(+), 120 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 2e34651910..6f100c8f26 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -201,7 +201,7 @@ protected List buildResultMapItems(ResultElementType elementType, Li for (IntrospectedColumn introspectedColumn : columns) { XmlElement resultElement = new XmlElement(elementType.value); - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(buildColumnAttribute(introspectedColumn)); resultElement.addAttribute(new Attribute( "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ @@ -225,7 +225,7 @@ protected XmlElement buildConstructorElement(boolean includeBlobColumns) { .getPrimaryKeyColumns()) { XmlElement resultElement = new XmlElement("idArg"); //$NON-NLS-1$ - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(buildColumnAttribute(introspectedColumn)); resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ introspectedColumn.getJdbcTypeName())); resultElement.addAttribute(new Attribute("javaType", //$NON-NLS-1$ @@ -248,7 +248,7 @@ protected XmlElement buildConstructorElement(boolean includeBlobColumns) { for (IntrospectedColumn introspectedColumn : columns) { XmlElement resultElement = new XmlElement("arg"); //$NON-NLS-1$ - resultElement.addAttribute(generateColumnAttribute(introspectedColumn)); + resultElement.addAttribute(buildColumnAttribute(introspectedColumn)); resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ introspectedColumn.getJdbcTypeName())); @@ -278,12 +278,12 @@ protected XmlElement buildConstructorElement(boolean includeBlobColumns) { return constructor; } - protected Attribute generateColumnAttribute(IntrospectedColumn introspectedColumn) { + protected Attribute buildColumnAttribute(IntrospectedColumn introspectedColumn) { return new Attribute("column", //$NON-NLS-1$ MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap(introspectedColumn)); } - protected XmlElement generateUpdateByExampleElement(String statementId, List columns) { + protected XmlElement buildUpdateByExampleElement(String statementId, List columns) { XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ answer.addAttribute(new Attribute("id", statementId)); //$NON-NLS-1$ @@ -326,4 +326,50 @@ protected XmlElement generateUpdateByExampleElement(String statementId, List columns) { + XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ + + answer.addAttribute(new Attribute("id", statementId)); //$NON-NLS-1$ + answer.addAttribute(new Attribute("parameterType", parameterType)); //$NON-NLS-1$ + + context.getCommentGenerator().addComment(answer); + + StringBuilder sb = new StringBuilder(); + sb.append("update "); //$NON-NLS-1$ + sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime()); + answer.addElement(new TextElement(sb.toString())); + + // set up for first column + sb.setLength(0); + sb.append("set "); //$NON-NLS-1$ + + Iterator iter = ListUtilities.removeGeneratedAlwaysColumns(columns).iterator(); + while (iter.hasNext()) { + IntrospectedColumn introspectedColumn = iter.next(); + + sb.append(MyBatis3FormattingUtilities + .getEscapedColumnName(introspectedColumn)); + sb.append(" = "); //$NON-NLS-1$ + sb.append(MyBatis3FormattingUtilities + .getParameterClause(introspectedColumn)); + + if (iter.hasNext()) { + sb.append(','); + } + + answer.addElement(new TextElement(sb.toString())); + + // set up for the next column + if (iter.hasNext()) { + sb.setLength(0); + OutputUtilities.xmlIndent(sb, 1); + } + } + + buildPrimaryKeyWhereClause().forEach(answer::addElement); + + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java index c9ad9258eb..63fda59d5e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java @@ -59,11 +59,9 @@ public void addElements(XmlElement parentElement) { dynamicElement.addElement(isNotNullElement); sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getAliasedEscapedColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities.getParameterClause( - introspectedColumn, "row.")); //$NON-NLS-1$ + sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, "row.")); //$NON-NLS-1$ sb.append(','); isNotNullElement.addElement(new TextElement(sb.toString())); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java index 0e9ad3bfe6..582b066120 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java @@ -26,7 +26,7 @@ public UpdateByExampleWithBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = generateUpdateByExampleElement(introspectedTable.getUpdateByExampleWithBLOBsStatementId(), + XmlElement answer = buildUpdateByExampleElement(introspectedTable.getUpdateByExampleWithBLOBsStatementId(), introspectedTable.getAllColumns()); if (context.getPlugins() diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java index e64aad6d73..41a7955ac5 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java @@ -26,7 +26,7 @@ public UpdateByExampleWithoutBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = generateUpdateByExampleElement(introspectedTable.getUpdateByExampleStatementId(), + XmlElement answer = buildUpdateByExampleElement(introspectedTable.getUpdateByExampleStatementId(), introspectedTable.getNonBLOBColumns()); if (context.getPlugins() diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java index af4fb607b3..ac3d2bcf28 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java @@ -44,8 +44,7 @@ public void addElements(XmlElement parentElement) { parameterType = introspectedTable.getBaseRecordType(); } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType)); + answer.addAttribute(new Attribute("parameterType", parameterType)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -68,11 +67,9 @@ public void addElements(XmlElement parentElement) { dynamicElement.addElement(isNotNullElement); sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn)); sb.append(','); isNotNullElement.addElement(new TextElement(sb.toString())); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java index c35f173fb0..f00900b7ec 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java @@ -15,15 +15,7 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.dom.OutputUtilities; -import org.mybatis.generator.api.dom.xml.Attribute; -import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.ListUtilities; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class UpdateByPrimaryKeyWithBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -34,12 +26,6 @@ public UpdateByPrimaryKeyWithBLOBsElementGenerator() { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ - - answer - .addAttribute(new Attribute( - "id", introspectedTable.getUpdateByPrimaryKeyWithBLOBsStatementId())); //$NON-NLS-1$ - String parameterType; if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { parameterType = introspectedTable.getRecordWithBLOBsType(); @@ -47,46 +33,10 @@ public void addElements(XmlElement parentElement) { parameterType = introspectedTable.getBaseRecordType(); } - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType)); - - context.getCommentGenerator().addComment(answer); - - StringBuilder sb = new StringBuilder(); - - sb.append("update "); //$NON-NLS-1$ - sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime()); - answer.addElement(new TextElement(sb.toString())); - - // set up for first column - sb.setLength(0); - sb.append("set "); //$NON-NLS-1$ - - Iterator iter = ListUtilities.removeGeneratedAlwaysColumns(introspectedTable - .getNonPrimaryKeyColumns()).iterator(); - while (iter.hasNext()) { - IntrospectedColumn introspectedColumn = iter.next(); - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - - if (iter.hasNext()) { - sb.append(','); - } - - answer.addElement(new TextElement(sb.toString())); - - // set up for the next column - if (iter.hasNext()) { - sb.setLength(0); - OutputUtilities.xmlIndent(sb, 1); - } - } - - buildPrimaryKeyWhereClause().forEach(answer::addElement); + XmlElement answer = buildUpdateByPrimaryKeyElement( + introspectedTable.getUpdateByPrimaryKeyWithBLOBsStatementId(), + parameterType, + introspectedTable.getNonPrimaryKeyColumns()); if (context.getPlugins() .sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated(answer, introspectedTable)) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java index c8b87c5c10..0e5bd7c125 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java @@ -15,15 +15,10 @@ */ package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; -import java.util.Iterator; +import java.util.List; import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.dom.OutputUtilities; -import org.mybatis.generator.api.dom.xml.Attribute; -import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -import org.mybatis.generator.codegen.mybatis3.ListUtilities; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; public class UpdateByPrimaryKeyWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { @@ -36,53 +31,16 @@ public UpdateByPrimaryKeyWithoutBLOBsElementGenerator(boolean isSimple) { @Override public void addElements(XmlElement parentElement) { - XmlElement answer = new XmlElement("update"); //$NON-NLS-1$ - - answer.addAttribute(new Attribute( - "id", introspectedTable.getUpdateByPrimaryKeyStatementId())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - introspectedTable.getBaseRecordType())); - - context.getCommentGenerator().addComment(answer); - - StringBuilder sb = new StringBuilder(); - sb.append("update "); //$NON-NLS-1$ - sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime()); - answer.addElement(new TextElement(sb.toString())); - - // set up for first column - sb.setLength(0); - sb.append("set "); //$NON-NLS-1$ - - Iterator iter; + List columns; if (isSimple) { - iter = ListUtilities.removeGeneratedAlwaysColumns(introspectedTable.getNonPrimaryKeyColumns()).iterator(); + columns = introspectedTable.getNonPrimaryKeyColumns(); } else { - iter = ListUtilities.removeGeneratedAlwaysColumns(introspectedTable.getBaseColumns()).iterator(); - } - while (iter.hasNext()) { - IntrospectedColumn introspectedColumn = iter.next(); - - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); - - if (iter.hasNext()) { - sb.append(','); - } - - answer.addElement(new TextElement(sb.toString())); - - // set up for the next column - if (iter.hasNext()) { - sb.setLength(0); - OutputUtilities.xmlIndent(sb, 1); - } + columns = introspectedTable.getBaseColumns(); } - buildPrimaryKeyWhereClause().forEach(answer::addElement); + XmlElement answer = buildUpdateByPrimaryKeyElement(introspectedTable.getUpdateByPrimaryKeyStatementId(), + introspectedTable.getBaseRecordType(), + columns); if (context.getPlugins() .sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer, introspectedTable)) { From f4d8b96c219690d46590e24a3788c0519e33ea3f Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 17:56:57 -0400 Subject: [PATCH 11/24] Common Update By Primary Key Annotations --- .../AbstractJavaMapperMethodGenerator.java | 83 +++++++++++++++++++ ...atedDeleteByPrimaryKeyMethodGenerator.java | 35 +------- ...atedSelectByPrimaryKeyMethodGenerator.java | 25 +----- ...eByPrimaryKeyWithBLOBsMethodGenerator.java | 78 +---------------- ...PrimaryKeyWithoutBLOBsMethodGenerator.java | 7 +- 5 files changed, 91 insertions(+), 137 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 1b9feeea78..80267e2f88 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -15,14 +15,23 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements; +import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; +import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getEscapedColumnName; +import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getParameterClause; import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap; +import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.codegen.AbstractGenerator; +import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.config.GeneratedKey; public abstract class AbstractJavaMapperMethodGenerator extends @@ -122,4 +131,78 @@ protected void addAnnotatedSelectImports(Interface interfaze) { new FullyQualifiedJavaType("org.apache.ibatis.annotations.Results")); //$NON-NLS-1$ } } + + protected List buildByPrimaryKeyWhereClause() { + List answer = new ArrayList<>(); + StringBuilder sb = new StringBuilder(); + boolean and = false; + Iterator iter = introspectedTable.getPrimaryKeyColumns().iterator(); + while (iter.hasNext()) { + sb.setLength(0); + javaIndent(sb, 1); + if (and) { + sb.append(" \"and "); //$NON-NLS-1$ + } else { + sb.append("\"where "); //$NON-NLS-1$ + and = true; + } + + IntrospectedColumn introspectedColumn = iter.next(); + sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn))); + sb.append(" = "); //$NON-NLS-1$ + sb.append(getParameterClause(introspectedColumn)); + sb.append('\"'); + if (iter.hasNext()) { + sb.append(','); + } + answer.add(sb.toString()); + } + + return answer; + } + + protected List buildUpdateByPrimaryKeyAnnotations(List columnList) { + List answer = new ArrayList<>(); + answer.add("@Update({"); //$NON-NLS-1$ + + StringBuilder sb = new StringBuilder(); + javaIndent(sb, 1); + sb.append("\"update "); //$NON-NLS-1$ + sb.append(escapeStringForJava(introspectedTable.getFullyQualifiedTableNameAtRuntime())); + sb.append("\","); //$NON-NLS-1$ + answer.add(sb.toString()); + + // set up for first column + sb.setLength(0); + javaIndent(sb, 1); + sb.append("\"set "); //$NON-NLS-1$ + + Iterator iter = ListUtilities.removeGeneratedAlwaysColumns(columnList).iterator(); + while (iter.hasNext()) { + IntrospectedColumn introspectedColumn = iter.next(); + + sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn))); + sb.append(" = "); //$NON-NLS-1$ + sb.append(getParameterClause(introspectedColumn)); + + if (iter.hasNext()) { + sb.append(','); + } + + sb.append("\","); //$NON-NLS-1$ + answer.add(sb.toString()); + + // set up for the next column + if (iter.hasNext()) { + sb.setLength(0); + javaIndent(sb, 1); + sb.append(" \""); //$NON-NLS-1$ + } + } + + answer.addAll(buildByPrimaryKeyWhereClause()); + + answer.add("})"); //$NON-NLS-1$ + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java index 65aba93df7..9420c18957 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,8 @@ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getEscapedColumnName; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getParameterClause; import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -43,35 +38,11 @@ public void addMapperAnnotations(Method method) { StringBuilder sb = new StringBuilder(); javaIndent(sb, 1); sb.append("\"delete from "); //$NON-NLS-1$ - sb.append(escapeStringForJava( - introspectedTable.getFullyQualifiedTableNameAtRuntime())); + sb.append(escapeStringForJava(introspectedTable.getFullyQualifiedTableNameAtRuntime())); sb.append("\","); //$NON-NLS-1$ method.addAnnotation(sb.toString()); - boolean and = false; - Iterator iter = introspectedTable.getPrimaryKeyColumns().iterator(); - while (iter.hasNext()) { - sb.setLength(0); - javaIndent(sb, 1); - if (and) { - sb.append(" \"and "); //$NON-NLS-1$ - } else { - sb.append("\"where "); //$NON-NLS-1$ - and = true; - } - - IntrospectedColumn introspectedColumn = iter.next(); - sb.append(escapeStringForJava( - getEscapedColumnName(introspectedColumn))); - sb.append(" = "); //$NON-NLS-1$ - sb.append(getParameterClause(introspectedColumn)); - sb.append('\"'); - if (iter.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } + buildByPrimaryKeyWhereClause().forEach(method::addAnnotation); method.addAnnotation("})"); //$NON-NLS-1$ } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java index 5a9eb9a1f7..acbdc2a6a6 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java @@ -25,7 +25,6 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; import org.mybatis.generator.codegen.mybatis3.javamapper.elements.SelectByPrimaryKeyMethodGenerator; public class AnnotatedSelectByPrimaryKeyMethodGenerator extends SelectByPrimaryKeyMethodGenerator { @@ -83,29 +82,7 @@ public void addMapperAnnotations(Interface interfaze, Method method) { sb.append("\","); //$NON-NLS-1$ method.addAnnotation(sb.toString()); - boolean and = false; - iter = introspectedTable.getPrimaryKeyColumns().iterator(); - while (iter.hasNext()) { - sb.setLength(0); - javaIndent(sb, 1); - if (and) { - sb.append(" \"and "); //$NON-NLS-1$ - } else { - sb.append("\"where "); //$NON-NLS-1$ - and = true; - } - - IntrospectedColumn introspectedColumn = iter.next(); - sb.append(escapeStringForJava( - MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn))); - sb.append(" = "); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn)); - sb.append('\"'); - if (iter.hasNext()) { - sb.append(','); - } - method.addAnnotation(sb.toString()); - } + buildByPrimaryKeyWhereClause().forEach(method::addAnnotation); method.addAnnotation("})"); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.java index 19bee5e244..7f8e8dd44e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.java @@ -15,20 +15,9 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; -import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getEscapedColumnName; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getParameterClause; -import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; - -import java.util.Iterator; -import java.util.List; - -import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.javamapper.elements.UpdateByPrimaryKeyWithBLOBsMethodGenerator; public class AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator extends UpdateByPrimaryKeyWithBLOBsMethodGenerator { @@ -39,72 +28,7 @@ public AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator() { @Override public void addMapperAnnotations(Method method) { - addMapperAnnotations(introspectedTable, method, introspectedTable.getNonPrimaryKeyColumns()); - } - - protected static void addMapperAnnotations(IntrospectedTable introspectedTable, Method method, - List columnList) { - method.addAnnotation("@Update({"); //$NON-NLS-1$ - - StringBuilder sb = new StringBuilder(); - javaIndent(sb, 1); - sb.append("\"update "); //$NON-NLS-1$ - sb.append(escapeStringForJava(introspectedTable.getFullyQualifiedTableNameAtRuntime())); - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - // set up for first column - sb.setLength(0); - javaIndent(sb, 1); - sb.append("\"set "); //$NON-NLS-1$ - - Iterator iter = ListUtilities.removeGeneratedAlwaysColumns(columnList).iterator(); - while (iter.hasNext()) { - IntrospectedColumn introspectedColumn = iter.next(); - - sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn))); - sb.append(" = "); //$NON-NLS-1$ - sb.append(getParameterClause(introspectedColumn)); - - if (iter.hasNext()) { - sb.append(','); - } - - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - // set up for the next column - if (iter.hasNext()) { - sb.setLength(0); - javaIndent(sb, 1); - sb.append(" \""); //$NON-NLS-1$ - } - } - - boolean and = false; - iter = introspectedTable.getPrimaryKeyColumns().iterator(); - while (iter.hasNext()) { - sb.setLength(0); - javaIndent(sb, 1); - if (and) { - sb.append(" \"and "); //$NON-NLS-1$ - } else { - sb.append("\"where "); //$NON-NLS-1$ - and = true; - } - - IntrospectedColumn introspectedColumn = iter.next(); - sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn))); - sb.append(" = "); //$NON-NLS-1$ - sb.append(getParameterClause(introspectedColumn)); - sb.append('\"'); - if (iter.hasNext()) { - sb.append(','); - } - method.addAnnotation(sb.toString()); - } - - method.addAnnotation("})"); //$NON-NLS-1$ + buildUpdateByPrimaryKeyAnnotations(introspectedTable.getNonPrimaryKeyColumns()).forEach(method::addAnnotation); } @Override diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java index 8badce94f6..70a72826b0 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java @@ -33,11 +33,10 @@ public AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator(boolean isSimple) @Override public void addMapperAnnotations(Method method) { if (isSimple) { - AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.addMapperAnnotations(introspectedTable, method, - introspectedTable.getNonPrimaryKeyColumns()); + buildUpdateByPrimaryKeyAnnotations(introspectedTable.getNonPrimaryKeyColumns()) + .forEach(method::addAnnotation); } else { - AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator.addMapperAnnotations(introspectedTable, method, - introspectedTable.getBaseColumns()); + buildUpdateByPrimaryKeyAnnotations(introspectedTable.getBaseColumns()).forEach(method::addAnnotation); } } From f0bf101358534ef4b9223d05ee647e778fbdb883 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 18:28:37 -0400 Subject: [PATCH 12/24] Common Primary Key Method Parameters --- .../AbstractJavaMapperMethodGenerator.java | 41 +++++++++++++-- .../DeleteByPrimaryKeyMethodGenerator.java | 51 +++--------------- .../SelectByPrimaryKeyMethodGenerator.java | 52 +++---------------- 3 files changed, 49 insertions(+), 95 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 80267e2f88..64813b2134 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -25,17 +25,18 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Set; import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.Parameter; import org.mybatis.generator.codegen.AbstractGenerator; import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.config.GeneratedKey; -public abstract class AbstractJavaMapperMethodGenerator extends - AbstractGenerator { +public abstract class AbstractJavaMapperMethodGenerator extends AbstractGenerator { public abstract void addInterfaceElements(Interface interfaze); protected AbstractJavaMapperMethodGenerator() { @@ -86,7 +87,6 @@ protected void addGeneratedKeyAnnotation(Method method, GeneratedKey gk) { sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$ sb.append(introspectedColumn.getJavaProperty()); sb.append("\")"); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); } else { FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); sb.append("@SelectKey(statement=\""); //$NON-NLS-1$ @@ -98,8 +98,8 @@ protected void addGeneratedKeyAnnotation(Method method, GeneratedKey gk) { sb.append(", resultType="); //$NON-NLS-1$ sb.append(fqjt.getShortName()); sb.append(".class)"); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); } + method.addAnnotation(sb.toString()); }); } @@ -205,4 +205,37 @@ protected List buildUpdateByPrimaryKeyAnnotations(List importedTypes) { + if (!isSimple && introspectedTable.getRules().generatePrimaryKeyClass()) { + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getPrimaryKeyType()); + importedTypes.add(type); + method.addParameter(new Parameter(type, "key")); //$NON-NLS-1$ + } else { + // no primary key class - fields are in the base class + // if more than one PK field, then we need to annotate the + // parameters for MyBatis3 + List introspectedColumns = introspectedTable + .getPrimaryKeyColumns(); + boolean annotate = introspectedColumns.size() > 1; + if (annotate) { + importedTypes.add(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ + } + StringBuilder sb = new StringBuilder(); + for (IntrospectedColumn introspectedColumn : introspectedColumns) { + FullyQualifiedJavaType type = introspectedColumn.getFullyQualifiedJavaType(); + importedTypes.add(type); + Parameter parameter = new Parameter(type, introspectedColumn.getJavaProperty()); + if (annotate) { + sb.setLength(0); + sb.append("@Param(\""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\")"); //$NON-NLS-1$ + parameter.addAnnotation(sb.toString()); + } + method.addParameter(parameter); + } + } + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java index 169a6de4f1..7c2d8ad04e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,19 +15,15 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements; -import java.util.List; import java.util.Set; import java.util.TreeSet; -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class DeleteByPrimaryKeyMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class DeleteByPrimaryKeyMethodGenerator extends AbstractJavaMapperMethodGenerator { private final boolean isSimple; @@ -44,48 +40,13 @@ public void addInterfaceElements(Interface interfaze) { method.setAbstract(true); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - if (!isSimple && introspectedTable.getRules().generatePrimaryKeyClass()) { - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getPrimaryKeyType()); - importedTypes.add(type); - method.addParameter(new Parameter(type, "key")); //$NON-NLS-1$ - } else { - // no primary key class - fields are in the base class - // if more than one PK field, then we need to annotate the - // parameters - // for MyBatis - List introspectedColumns = introspectedTable - .getPrimaryKeyColumns(); - boolean annotate = introspectedColumns.size() > 1; - if (annotate) { - importedTypes.add(new FullyQualifiedJavaType( - "org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ - } - StringBuilder sb = new StringBuilder(); - for (IntrospectedColumn introspectedColumn : introspectedColumns) { - FullyQualifiedJavaType type = introspectedColumn - .getFullyQualifiedJavaType(); - importedTypes.add(type); - Parameter parameter = new Parameter(type, introspectedColumn - .getJavaProperty()); - if (annotate) { - sb.setLength(0); - sb.append("@Param(\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\")"); //$NON-NLS-1$ - parameter.addAnnotation(sb.toString()); - } - method.addParameter(parameter); - } - } - - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + addPrimaryKeyMethodParameters(isSimple, method, importedTypes); addMapperAnnotations(method); - if (context.getPlugins().clientDeleteByPrimaryKeyMethodGenerated( - method, interfaze, introspectedTable)) { + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); + + if (context.getPlugins().clientDeleteByPrimaryKeyMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByPrimaryKeyMethodGenerator.java index 814cfe36f4..01ed0cfdd2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByPrimaryKeyMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,19 +15,15 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements; -import java.util.List; import java.util.Set; import java.util.TreeSet; -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class SelectByPrimaryKeyMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class SelectByPrimaryKeyMethodGenerator extends AbstractJavaMapperMethodGenerator { private final boolean isSimple; @@ -42,55 +38,19 @@ public void addInterfaceElements(Interface interfaze) { method.setVisibility(JavaVisibility.PUBLIC); method.setAbstract(true); - FullyQualifiedJavaType returnType = introspectedTable.getRules() - .calculateAllFieldsClass(); + FullyQualifiedJavaType returnType = introspectedTable.getRules().calculateAllFieldsClass(); method.setReturnType(returnType); Set importedTypes = new TreeSet<>(); importedTypes.add(returnType); - if (!isSimple && introspectedTable.getRules().generatePrimaryKeyClass()) { - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getPrimaryKeyType()); - importedTypes.add(type); - method.addParameter(new Parameter(type, "key")); //$NON-NLS-1$ - } else { - // no primary key class - fields are in the base class - // if more than one PK field, then we need to annotate the - // parameters - // for MyBatis3 - List introspectedColumns = introspectedTable - .getPrimaryKeyColumns(); - boolean annotate = introspectedColumns.size() > 1; - if (annotate) { - importedTypes.add(new FullyQualifiedJavaType( - "org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ - } - StringBuilder sb = new StringBuilder(); - for (IntrospectedColumn introspectedColumn : introspectedColumns) { - FullyQualifiedJavaType type = introspectedColumn - .getFullyQualifiedJavaType(); - importedTypes.add(type); - Parameter parameter = new Parameter(type, introspectedColumn - .getJavaProperty()); - if (annotate) { - sb.setLength(0); - sb.append("@Param(\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\")"); //$NON-NLS-1$ - parameter.addAnnotation(sb.toString()); - } - method.addParameter(parameter); - } - } + addPrimaryKeyMethodParameters(isSimple, method, importedTypes); addMapperAnnotations(interfaze, method); - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); - if (context.getPlugins().clientSelectByPrimaryKeyMethodGenerated( - method, interfaze, introspectedTable)) { + if (context.getPlugins().clientSelectByPrimaryKeyMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); From f322c266ee88f5579ceaaddc41a164f973d907fd Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Wed, 19 May 2021 18:53:02 -0400 Subject: [PATCH 13/24] Common Results Annotations --- .../AbstractJavaMapperMethodGenerator.java | 43 ++++++++++++++ .../AnnotatedSelectAllMethodGenerator.java | 46 +-------------- ...lectByExampleWithBLOBsMethodGenerator.java | 57 +++---------------- ...tByExampleWithoutBLOBsMethodGenerator.java | 57 +++---------------- ...atedSelectByPrimaryKeyMethodGenerator.java | 4 +- 5 files changed, 60 insertions(+), 147 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 64813b2134..3584d83789 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -238,4 +238,47 @@ protected void addPrimaryKeyMethodParameters(boolean isSimple, Method method, } } } + + protected void addAnnotatedResults(Interface interfaze, Method method, List nonPrimaryKeyColumns) { + + if (introspectedTable.isConstructorBased()) { + method.addAnnotation("@ConstructorArgs({"); //$NON-NLS-1$ + } else { + method.addAnnotation("@Results({"); //$NON-NLS-1$ + } + + StringBuilder sb = new StringBuilder(); + + Iterator iterPk = introspectedTable.getPrimaryKeyColumns().iterator(); + Iterator iterNonPk = nonPrimaryKeyColumns.iterator(); + while (iterPk.hasNext()) { + IntrospectedColumn introspectedColumn = iterPk.next(); + sb.setLength(0); + javaIndent(sb, 1); + sb.append(getResultAnnotation(interfaze, introspectedColumn, true, + introspectedTable.isConstructorBased())); + + if (iterPk.hasNext() || iterNonPk.hasNext()) { + sb.append(','); + } + + method.addAnnotation(sb.toString()); + } + + while (iterNonPk.hasNext()) { + IntrospectedColumn introspectedColumn = iterNonPk.next(); + sb.setLength(0); + javaIndent(sb, 1); + sb.append(getResultAnnotation(interfaze, introspectedColumn, false, + introspectedTable.isConstructorBased())); + + if (iterNonPk.hasNext()) { + sb.append(','); + } + + method.addAnnotation(sb.toString()); + } + + method.addAnnotation("})"); //$NON-NLS-1$ + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java index de95ab91bf..979a958dd9 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java @@ -22,7 +22,6 @@ import java.util.Iterator; import org.mybatis.generator.api.IntrospectedColumn; -import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -101,50 +100,7 @@ public void addMapperAnnotations(Interface interfaze, Method method) { method.addAnnotation("})"); //$NON-NLS-1$ - addAnnotatedResults(introspectedTable, interfaze, method); - } - - protected static void addAnnotatedResults(IntrospectedTable introspectedTable, Interface interfaze, Method method) { - - if (introspectedTable.isConstructorBased()) { - method.addAnnotation("@ConstructorArgs({"); //$NON-NLS-1$ - } else { - method.addAnnotation("@Results({"); //$NON-NLS-1$ - } - - StringBuilder sb = new StringBuilder(); - - Iterator iterPk = introspectedTable.getPrimaryKeyColumns().iterator(); - Iterator iterNonPk = introspectedTable.getNonPrimaryKeyColumns().iterator(); - while (iterPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, true, - introspectedTable.isConstructorBased())); - - if (iterPk.hasNext() || iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } - - while (iterNonPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterNonPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, false, - introspectedTable.isConstructorBased())); - - if (iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } - - method.addAnnotation("})"); //$NON-NLS-1$ + addAnnotatedResults(interfaze, method, introspectedTable.getNonPrimaryKeyColumns()); } @Override diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java index 4c4161fe4b..d36fd07935 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java @@ -15,11 +15,6 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; -import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; - -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -35,52 +30,14 @@ public AnnotatedSelectByExampleWithBLOBsMethodGenerator() { public void addMapperAnnotations(Interface interfaze, Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - StringBuilder sb = new StringBuilder(); - sb.append("@SelectProvider(type="); //$NON-NLS-1$ - sb.append(fqjt.getShortName()); - sb.append(".class, method=\""); //$NON-NLS-1$ - sb.append(introspectedTable.getSelectByExampleWithBLOBsStatementId()); - sb.append("\")"); //$NON-NLS-1$ - - method.addAnnotation(sb.toString()); - - if (introspectedTable.isConstructorBased()) { - method.addAnnotation("@ConstructorArgs({"); //$NON-NLS-1$ - } else { - method.addAnnotation("@Results({"); //$NON-NLS-1$ - } - - Iterator iterPk = introspectedTable.getPrimaryKeyColumns().iterator(); - Iterator iterNonPk = introspectedTable.getNonPrimaryKeyColumns().iterator(); - while (iterPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, true, - introspectedTable.isConstructorBased())); - - if (iterPk.hasNext() || iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } - - while (iterNonPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterNonPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, false, - introspectedTable.isConstructorBased())); - - if (iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } + String sb = "@SelectProvider(type=" + //$NON-NLS-1$ + fqjt.getShortName() + + ".class, method=\"" + //$NON-NLS-1$ + introspectedTable.getSelectByExampleWithBLOBsStatementId() + + "\")";//$NON-NLS-1$ + method.addAnnotation(sb); - method.addAnnotation("})"); //$NON-NLS-1$ + addAnnotatedResults(interfaze, method, introspectedTable.getNonPrimaryKeyColumns()); } @Override diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java index 0a88a0354b..4c88448849 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java @@ -15,11 +15,6 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; -import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; - -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -35,52 +30,14 @@ public AnnotatedSelectByExampleWithoutBLOBsMethodGenerator() { public void addMapperAnnotations(Interface interfaze, Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - StringBuilder sb = new StringBuilder(); - sb.append("@SelectProvider(type="); //$NON-NLS-1$ - sb.append(fqjt.getShortName()); - sb.append(".class, method=\""); //$NON-NLS-1$ - sb.append(introspectedTable.getSelectByExampleStatementId()); - sb.append("\")"); //$NON-NLS-1$ - - method.addAnnotation(sb.toString()); - - if (introspectedTable.isConstructorBased()) { - method.addAnnotation("@ConstructorArgs({"); //$NON-NLS-1$ - } else { - method.addAnnotation("@Results({"); //$NON-NLS-1$ - } - - Iterator iterPk = introspectedTable.getPrimaryKeyColumns().iterator(); - Iterator iterNonPk = introspectedTable.getBaseColumns().iterator(); - while (iterPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, true, - introspectedTable.isConstructorBased())); - - if (iterPk.hasNext() || iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } - - while (iterNonPk.hasNext()) { - IntrospectedColumn introspectedColumn = iterNonPk.next(); - sb.setLength(0); - javaIndent(sb, 1); - sb.append(getResultAnnotation(interfaze, introspectedColumn, false, - introspectedTable.isConstructorBased())); - - if (iterNonPk.hasNext()) { - sb.append(','); - } - - method.addAnnotation(sb.toString()); - } + String sb = "@SelectProvider(type=" + //$NON-NLS-1$ + fqjt.getShortName() + + ".class, method=\"" + //$NON-NLS-1$ + introspectedTable.getSelectByExampleStatementId() + + "\")";//$NON-NLS-1$ + method.addAnnotation(sb); - method.addAnnotation("})"); //$NON-NLS-1$ + addAnnotatedResults(interfaze, method, introspectedTable.getBaseColumns()); } @Override diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java index acbdc2a6a6..57fd7a8e48 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java @@ -91,10 +91,10 @@ public void addMapperAnnotations(Interface interfaze, Method method) { || introspectedTable.getRules().generateResultMapWithBLOBs()) { addResultMapAnnotation(method); } else { - AnnotatedSelectAllMethodGenerator.addAnnotatedResults(introspectedTable, interfaze, method); + addAnnotatedResults(interfaze, method, introspectedTable.getNonPrimaryKeyColumns()); } } else { - AnnotatedSelectAllMethodGenerator.addAnnotatedResults(introspectedTable, interfaze, method); + addAnnotatedResults(interfaze, method, introspectedTable.getNonPrimaryKeyColumns()); } } From e873d02bffd4efc26a41c80bf7de0c5f22ea7a2d Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Thu, 20 May 2021 08:36:58 -0400 Subject: [PATCH 14/24] Pure Functions! --- .../AbstractJavaMapperMethodGenerator.java | 78 +++++++++++-------- .../AnnotatedInsertMethodGenerator.java | 11 +-- ...notatedInsertSelectiveMethodGenerator.java | 11 +-- 3 files changed, 49 insertions(+), 51 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 3584d83789..f3c949b110 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -23,8 +23,10 @@ import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; import java.util.ArrayList; +import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Optional; import java.util.Set; import org.mybatis.generator.api.IntrospectedColumn; @@ -80,41 +82,51 @@ protected static String getResultAnnotation(Interface interfaze, IntrospectedCol return sb.toString(); } - protected void addGeneratedKeyAnnotation(Method method, GeneratedKey gk) { - StringBuilder sb = new StringBuilder(); - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - if (gk.isJdbcStandard()) { - sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\")"); //$NON-NLS-1$ - } else { - FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); - sb.append("@SelectKey(statement=\""); //$NON-NLS-1$ - sb.append(gk.getRuntimeSqlStatement()); - sb.append("\", keyProperty=\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\", before="); //$NON-NLS-1$ - sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$ - sb.append(", resultType="); //$NON-NLS-1$ - sb.append(fqjt.getShortName()); - sb.append(".class)"); //$NON-NLS-1$ - } - method.addAnnotation(sb.toString()); - }); + protected Optional buildGeneratedKeyAnnotation() { + GeneratedKey gk = introspectedTable.getGeneratedKey(); + if (gk == null) { + return Optional.empty(); + } else { + return introspectedTable.getColumn(gk.getColumn()).map(introspectedColumn -> { + StringBuilder sb = new StringBuilder(); + if (gk.isJdbcStandard()) { + sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\")"); //$NON-NLS-1$ + } else { + FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); + sb.append("@SelectKey(statement=\""); //$NON-NLS-1$ + sb.append(gk.getRuntimeSqlStatement()); + sb.append("\", keyProperty=\""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\", before="); //$NON-NLS-1$ + sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$ + sb.append(", resultType="); //$NON-NLS-1$ + sb.append(fqjt.getShortName()); + sb.append(".class)"); //$NON-NLS-1$ + } + return sb.toString(); + }); + } } - protected void addGeneratedKeyImports(Interface interfaze, GeneratedKey gk) { - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - if (gk.isJdbcStandard()) { - interfaze.addImportedType( - new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$ - } else { - interfaze.addImportedType( - new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$ - FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); - interfaze.addImportedType(fqjt); - } - }); + protected Set buildGeneratedKeyImportsIfRequired() { + Set answer = new HashSet<>(); + GeneratedKey gk = introspectedTable.getGeneratedKey(); + if (gk != null) { + introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { + if (gk.isJdbcStandard()) { + answer.add( + new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$ + } else { + answer.add( + new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$ + FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); + answer.add(fqjt); + } + }); + } + return answer; } protected void addAnnotatedSelectImports(Interface interfaze) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java index d96b6cf1f5..34c5e066f8 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java @@ -30,7 +30,6 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.javamapper.elements.InsertMethodGenerator; -import org.mybatis.generator.config.GeneratedKey; public class AnnotatedInsertMethodGenerator extends InsertMethodGenerator { @@ -109,18 +108,12 @@ public void addMapperAnnotations(Method method) { method.addAnnotation("})"); //$NON-NLS-1$ - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - addGeneratedKeyAnnotation(method, gk); - } + buildGeneratedKeyAnnotation().ifPresent(method::addAnnotation); } @Override public void addExtraImports(Interface interfaze) { - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - addGeneratedKeyImports(interfaze, gk); - } + interfaze.addImportedTypes(buildGeneratedKeyImportsIfRequired()); interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Insert")); //$NON-NLS-1$ } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertSelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertSelectiveMethodGenerator.java index 082f688dcb..7edb0cd3b2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertSelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertSelectiveMethodGenerator.java @@ -19,7 +19,6 @@ import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.codegen.mybatis3.javamapper.elements.InsertSelectiveMethodGenerator; -import org.mybatis.generator.config.GeneratedKey; public class AnnotatedInsertSelectiveMethodGenerator extends InsertSelectiveMethodGenerator { @@ -38,18 +37,12 @@ public void addMapperAnnotations(Method method) { + "\")"; //$NON-NLS-1$ method.addAnnotation(s); - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - addGeneratedKeyAnnotation(method, gk); - } + buildGeneratedKeyAnnotation().ifPresent(method::addAnnotation); } @Override public void addExtraImports(Interface interfaze) { - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - addGeneratedKeyImports(interfaze, gk); - } + interfaze.addImportedTypes(buildGeneratedKeyImportsIfRequired()); interfaze.addImportedType( new FullyQualifiedJavaType("org.apache.ibatis.annotations.InsertProvider")); //$NON-NLS-1$ } From 58a1b9be93bce9041344c266a5d9e94da58382b0 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Thu, 20 May 2021 15:44:23 -0400 Subject: [PATCH 15/24] GeneratedKey is optional --- .../generator/api/IntrospectedTable.java | 2 +- .../AbstractJavaMapperMethodGenerator.java | 80 ++++++++------- .../DeleteByPrimaryKeyMethodGenerator.java | 2 +- .../AnnotatedInsertMethodGenerator.java | 2 +- .../elements/AbstractXmlElementGenerator.java | 30 +++--- .../generator/config/TableConfiguration.java | 5 +- .../internal/db/DatabaseIntrospector.java | 98 ++++++++----------- .../sql/DynamicSqlMapperGenerator.java | 2 +- .../elements/BasicInsertMethodGenerator.java | 8 +- .../BasicMultipleInsertMethodGenerator.java | 3 +- .../runtime/dynamic/sql/elements/Utils.java | 8 +- .../KotlinMapperAndExtensionsGenerator.java | 2 +- .../elements/BasicInsertMethodGenerator.java | 8 +- .../BasicMultipleInsertMethodGenerator.java | 3 +- 14 files changed, 120 insertions(+), 133 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/IntrospectedTable.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/IntrospectedTable.java index cc9f548503..0afbb73599 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/IntrospectedTable.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/api/IntrospectedTable.java @@ -150,7 +150,7 @@ public String getSelectByPrimaryKeyQueryId() { return tableConfiguration.getSelectByPrimaryKeyQueryId(); } - public GeneratedKey getGeneratedKey() { + public Optional getGeneratedKey() { return tableConfiguration.getGeneratedKey(); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index f3c949b110..8bcf0c6f26 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -23,6 +23,7 @@ import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -83,49 +84,53 @@ protected static String getResultAnnotation(Interface interfaze, IntrospectedCol } protected Optional buildGeneratedKeyAnnotation() { - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk == null) { - return Optional.empty(); + return introspectedTable.getGeneratedKey().flatMap(this::buildGeneratedKeyAnnotation); + } + + private Optional buildGeneratedKeyAnnotation(GeneratedKey gk) { + return introspectedTable.getColumn(gk.getColumn()).map(ic -> buildGeneratedKeyAnnotation(gk, ic)); + } + + private String buildGeneratedKeyAnnotation(GeneratedKey gk, IntrospectedColumn introspectedColumn) { + StringBuilder sb = new StringBuilder(); + if (gk.isJdbcStandard()) { + sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\")"); //$NON-NLS-1$ } else { - return introspectedTable.getColumn(gk.getColumn()).map(introspectedColumn -> { - StringBuilder sb = new StringBuilder(); - if (gk.isJdbcStandard()) { - sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\")"); //$NON-NLS-1$ - } else { - FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); - sb.append("@SelectKey(statement=\""); //$NON-NLS-1$ - sb.append(gk.getRuntimeSqlStatement()); - sb.append("\", keyProperty=\""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\", before="); //$NON-NLS-1$ - sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$ - sb.append(", resultType="); //$NON-NLS-1$ - sb.append(fqjt.getShortName()); - sb.append(".class)"); //$NON-NLS-1$ - } - return sb.toString(); - }); + sb.append("@SelectKey(statement=\""); //$NON-NLS-1$ + sb.append(gk.getRuntimeSqlStatement()); + sb.append("\", keyProperty=\""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\", before="); //$NON-NLS-1$ + sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$ + sb.append(", resultType="); //$NON-NLS-1$ + sb.append(introspectedColumn.getFullyQualifiedJavaType().getShortName()); + sb.append(".class)"); //$NON-NLS-1$ } + return sb.toString(); } protected Set buildGeneratedKeyImportsIfRequired() { + return introspectedTable.getGeneratedKey().map(this::buildGeneratedKeyImportsIfRequired) + .orElseGet(Collections::emptySet); + } + + private Set buildGeneratedKeyImportsIfRequired(GeneratedKey gk) { + return introspectedTable.getColumn(gk.getColumn()).map(ic -> buildGeneratedKeyImports(gk, ic)) + .orElseGet(Collections::emptySet); + } + + private Set buildGeneratedKeyImports(GeneratedKey gk, + IntrospectedColumn introspectedColumn) { Set answer = new HashSet<>(); - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - if (gk.isJdbcStandard()) { - answer.add( - new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$ - } else { - answer.add( - new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$ - FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); - answer.add(fqjt); - } - }); + if (gk.isJdbcStandard()) { + answer.add(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$ + } else { + answer.add(new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$ + answer.add(introspectedColumn.getFullyQualifiedJavaType()); } + return answer; } @@ -251,7 +256,8 @@ protected void addPrimaryKeyMethodParameters(boolean isSimple, Method method, } } - protected void addAnnotatedResults(Interface interfaze, Method method, List nonPrimaryKeyColumns) { + protected void addAnnotatedResults(Interface interfaze, Method method, + List nonPrimaryKeyColumns) { if (introspectedTable.isConstructorBased()) { method.addAnnotation("@ConstructorArgs({"); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java index 7c2d8ad04e..695f04138e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByPrimaryKeyMethodGenerator.java @@ -34,12 +34,12 @@ public DeleteByPrimaryKeyMethodGenerator(boolean isSimple) { @Override public void addInterfaceElements(Interface interfaze) { - Set importedTypes = new TreeSet<>(); Method method = new Method(introspectedTable.getDeleteByPrimaryKeyStatementId()); method.setVisibility(JavaVisibility.PUBLIC); method.setAbstract(true); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); + Set importedTypes = new TreeSet<>(); addPrimaryKeyMethodParameters(isSimple, method, importedTypes); addMapperAnnotations(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java index 34c5e066f8..7a3cd344ee 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedInsertMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 6f100c8f26..3ab7f9e550 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -165,22 +165,20 @@ protected XmlElement buildInitialInsert(String statementId, FullyQualifiedJavaTy context.getCommentGenerator().addComment(answer); - GeneratedKey gk = introspectedTable.getGeneratedKey(); - if (gk != null) { - introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - // if the column is null, then it's a configuration error. The - // warning has already been reported - if (gk.isJdbcStandard()) { - answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ - answer.addAttribute( - new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - answer.addAttribute( - new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ - } else { - answer.addElement(getSelectKey(introspectedColumn, gk)); - } - }); - } + introspectedTable.getGeneratedKey().ifPresent(gk -> + introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { + // if the column is null, then it's a configuration error. The + // warning has already been reported + if (gk.isJdbcStandard()) { + answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ + answer.addAttribute( + new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ + answer.addAttribute( + new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ + } else { + answer.addElement(getSelectKey(introspectedColumn, gk)); + } + })); return answer; } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/config/TableConfiguration.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/config/TableConfiguration.java index 4be791acd5..16b4c5bf7a 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/config/TableConfiguration.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/config/TableConfiguration.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import org.mybatis.generator.internal.util.messages.Messages; @@ -219,8 +220,8 @@ public ColumnOverride getColumnOverride(String columnName) { return null; } - public GeneratedKey getGeneratedKey() { - return generatedKey; + public Optional getGeneratedKey() { + return Optional.ofNullable(generatedKey); } public String getSelectByExampleQueryId() { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/internal/db/DatabaseIntrospector.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/internal/db/DatabaseIntrospector.java index d5617731f6..9a222ea34c 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/internal/db/DatabaseIntrospector.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/internal/db/DatabaseIntrospector.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -139,17 +139,17 @@ private void reportIntrospectionWarnings( string, table.toString())); } - GeneratedKey generatedKey = tableConfiguration.getGeneratedKey(); - if (generatedKey != null - && !introspectedTable.getColumn(generatedKey.getColumn()).isPresent()) { - if (generatedKey.isIdentity()) { - warnings.add(getString("Warning.5", //$NON-NLS-1$ - generatedKey.getColumn(), table.toString())); - } else { - warnings.add(getString("Warning.6", //$NON-NLS-1$ - generatedKey.getColumn(), table.toString())); + tableConfiguration.getGeneratedKey().ifPresent(generatedKey -> { + if (!introspectedTable.getColumn(generatedKey.getColumn()).isPresent()) { + if (generatedKey.isIdentity()) { + warnings.add(getString("Warning.5", //$NON-NLS-1$ + generatedKey.getColumn(), table.toString())); + } else { + warnings.add(getString("Warning.6", //$NON-NLS-1$ + generatedKey.getColumn(), table.toString())); + } } - } + }); for (IntrospectedColumn ic : introspectedTable.getAllColumns()) { if (JavaReservedWords.containsWord(ic.getJavaProperty())) { @@ -297,11 +297,7 @@ private void calculateExtraColumnInformation(TableConfiguration tc, .calculateJdbcTypeName(introspectedColumn)); } else { // type cannot be resolved. Check for ignored or overridden - boolean warn = true; - if (tc.isColumnIgnored(introspectedColumn - .getActualColumnName())) { - warn = false; - } + boolean warn = !tc.isColumnIgnored(introspectedColumn.getActualColumnName()); ColumnOverride co = tc.getColumnOverride(introspectedColumn .getActualColumnName()); @@ -340,27 +336,22 @@ && stringHasValue(co.getJavaType())) { } private void calculateIdentityColumns(TableConfiguration tc, - Map> columns) { - GeneratedKey gk = tc.getGeneratedKey(); - if (gk == null) { - // no generated key, then no identity or sequence columns - return; - } - - for (Map.Entry> entry : columns - .entrySet()) { - for (IntrospectedColumn introspectedColumn : entry.getValue()) { - if (isMatchedColumn(introspectedColumn, gk)) { - if (gk.isIdentity() || gk.isJdbcStandard()) { - introspectedColumn.setIdentity(true); - introspectedColumn.setSequenceColumn(false); - } else { - introspectedColumn.setIdentity(false); - introspectedColumn.setSequenceColumn(true); + Map> columns) { + tc.getGeneratedKey().ifPresent(gk -> { + for (Map.Entry> entry : columns.entrySet()) { + for (IntrospectedColumn introspectedColumn : entry.getValue()) { + if (isMatchedColumn(introspectedColumn, gk)) { + if (gk.isIdentity() || gk.isJdbcStandard()) { + introspectedColumn.setIdentity(true); + introspectedColumn.setSequenceColumn(false); + } else { + introspectedColumn.setIdentity(false); + introspectedColumn.setSequenceColumn(true); + } } } } - } + }); } private boolean isMatchedColumn(IntrospectedColumn introspectedColumn, GeneratedKey gk) { @@ -462,32 +453,11 @@ private Map> getColumns( if (tc.isWildcardEscapingEnabled()) { String escapeString = databaseMetaData.getSearchStringEscape(); - StringBuilder sb = new StringBuilder(); - StringTokenizer st; if (localSchema != null) { - st = new StringTokenizer(localSchema, "_%", true); //$NON-NLS-1$ - while (st.hasMoreTokens()) { - String token = st.nextToken(); - if (token.equals("_") //$NON-NLS-1$ - || token.equals("%")) { //$NON-NLS-1$ - sb.append(escapeString); - } - sb.append(token); - } - localSchema = sb.toString(); + localSchema = escapeName(localSchema, escapeString); } - sb.setLength(0); - st = new StringTokenizer(localTableName, "_%", true); //$NON-NLS-1$ - while (st.hasMoreTokens()) { - String token = st.nextToken(); - if (token.equals("_") //$NON-NLS-1$ - || token.equals("%")) { //$NON-NLS-1$ - sb.append(escapeString); - } - sb.append(token); - } - localTableName = sb.toString(); + localTableName = escapeName(localTableName, escapeString); } Map> answer = new HashMap<>(); @@ -585,6 +555,20 @@ private Map> getColumns( return answer; } + private String escapeName(String localName, String escapeString) { + StringTokenizer st = new StringTokenizer(localName, "_%", true); //$NON-NLS-1$ + StringBuilder sb = new StringBuilder(); + while (st.hasMoreTokens()) { + String token = st.nextToken(); + if (token.equals("_") //$NON-NLS-1$ + || token.equals("%")) { //$NON-NLS-1$ + sb.append(escapeString); + } + sb.append(token); + } + return sb.toString(); + } + private List calculateIntrospectedTables( TableConfiguration tc, Map> columns) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/DynamicSqlMapperGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/DynamicSqlMapperGenerator.java index 11749c26f9..b4d349b69f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/DynamicSqlMapperGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/DynamicSqlMapperGenerator.java @@ -135,7 +135,7 @@ protected void preCalculate() { .withTableFieldName(tableFieldName) .build(); - hasGeneratedKeys = introspectedTable.getGeneratedKey() != null; + hasGeneratedKeys = introspectedTable.getGeneratedKey().isPresent(); } protected Interface createBasicInterface() { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicInsertMethodGenerator.java index 618e425045..be890fc0cf 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicInsertMethodGenerator.java @@ -22,7 +22,6 @@ import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -import org.mybatis.generator.config.GeneratedKey; public class BasicInsertMethodGenerator extends AbstractMethodGenerator { @@ -65,9 +64,10 @@ public MethodAndImports generateMethodAndImports() { MethodAndImports.Builder builder = MethodAndImports.withMethod(method) .withImports(imports); - GeneratedKey gk = introspectedTable.getGeneratedKey(); - MethodParts methodParts = fragmentGenerator.getGeneratedKeyAnnotation(gk); - acceptParts(builder, method, methodParts); + introspectedTable.getGeneratedKey().ifPresent(gk -> { + MethodParts methodParts = fragmentGenerator.getGeneratedKeyAnnotation(gk); + acceptParts(builder, method, methodParts); + }); return builder.build(); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicMultipleInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicMultipleInsertMethodGenerator.java index 7c102e8945..7173f98225 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicMultipleInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/BasicMultipleInsertMethodGenerator.java @@ -39,8 +39,7 @@ public MethodAndImports generateMethodAndImports() { return null; } - GeneratedKey gk = introspectedTable.getGeneratedKey(); - return generateMethodWithGeneratedKeys(gk); + return introspectedTable.getGeneratedKey().map(this::generateMethodWithGeneratedKeys).orElse(null); } private MethodAndImports generateMethodWithGeneratedKeys(GeneratedKey gk) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/Utils.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/Utils.java index 669c58c8ae..4dded9bc8c 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/Utils.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/dynamic/sql/elements/Utils.java @@ -28,15 +28,15 @@ public static boolean generateDeleteByPrimaryKey(IntrospectedTable introspectedT public static boolean generateMultipleRowInsert(IntrospectedTable introspectedTable) { // multi row inserts work if we don't expect generated keys, or of the generated keys are // JDBC standard. - GeneratedKey gk = introspectedTable.getGeneratedKey(); - return gk == null || gk.isJdbcStandard(); + return introspectedTable.getGeneratedKey().map(GeneratedKey::isJdbcStandard) + .orElse(true); } public static boolean canRetrieveMultiRowGeneratedKeys(IntrospectedTable introspectedTable) { // if the generated keys are JDBC standard, then we can retrieve them // if no generated keys, or not JDBC, then we cannot retrieve them - GeneratedKey gk = introspectedTable.getGeneratedKey(); - return gk != null && gk.isJdbcStandard(); + return introspectedTable.getGeneratedKey().map(GeneratedKey::isJdbcStandard) + .orElse(false); } public static boolean generateSelectByPrimaryKey(IntrospectedTable introspectedTable) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java index 992e1ee715..e45eb106c8 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/KotlinMapperAndExtensionsGenerator.java @@ -79,7 +79,7 @@ protected void preCalculate() { .withTableFieldName(supportClassGenerator.getTablePropertyName()) .build(); - hasGeneratedKeys = introspectedTable.getGeneratedKey() != null; + hasGeneratedKeys = introspectedTable.getGeneratedKey().isPresent(); } protected KotlinFile createMapperInterfaceFile() { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicInsertMethodGenerator.java index b4ec9f64fa..cf5b8bfa04 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicInsertMethodGenerator.java @@ -19,7 +19,6 @@ import org.mybatis.generator.api.dom.kotlin.KotlinArg; import org.mybatis.generator.api.dom.kotlin.KotlinFile; import org.mybatis.generator.api.dom.kotlin.KotlinFunction; -import org.mybatis.generator.config.GeneratedKey; public class BasicInsertMethodGenerator extends AbstractKotlinFunctionGenerator { @@ -57,9 +56,10 @@ public KotlinFunctionAndImports generateMethodAndImports() { addFunctionComment(functionAndImports); - GeneratedKey gk = introspectedTable.getGeneratedKey(); - KotlinFunctionParts functionParts = fragmentGenerator.getGeneratedKeyAnnotation(gk); - acceptParts(kotlinFile, functionAndImports.getFunction(), functionParts); + introspectedTable.getGeneratedKey().ifPresent(gk -> { + KotlinFunctionParts functionParts = fragmentGenerator.getGeneratedKeyAnnotation(gk); + acceptParts(kotlinFile, functionAndImports.getFunction(), functionParts); + }); return functionAndImports; } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicMultipleInsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicMultipleInsertMethodGenerator.java index cb5cef28f6..f0a3cbc440 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicMultipleInsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/runtime/kotlin/elements/BasicMultipleInsertMethodGenerator.java @@ -37,8 +37,7 @@ public KotlinFunctionAndImports generateMethodAndImports() { return null; } - GeneratedKey gk = introspectedTable.getGeneratedKey(); - return generateMethodWithGeneratedKeys(gk); + return introspectedTable.getGeneratedKey().map(this::generateMethodWithGeneratedKeys).orElse(null); } private KotlinFunctionAndImports generateMethodWithGeneratedKeys(GeneratedKey gk) { From 67a460e14eda34e6cec4a78df02e7c0a718df201 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Thu, 20 May 2021 16:21:40 -0400 Subject: [PATCH 16/24] Common Update By Example Method --- .../AbstractJavaMapperMethodGenerator.java | 23 +++++++++++ ...dateByExampleSelectiveMethodGenerator.java | 35 +++-------------- ...dateByExampleWithBLOBsMethodGenerator.java | 38 +++---------------- ...eByExampleWithoutBLOBsMethodGenerator.java | 36 +++--------------- 4 files changed, 40 insertions(+), 92 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 8bcf0c6f26..56e2c3016f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -33,6 +33,7 @@ import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; +import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; import org.mybatis.generator.codegen.AbstractGenerator; @@ -299,4 +300,26 @@ protected void addAnnotatedResults(Interface interfaze, Method method, method.addAnnotation("})"); //$NON-NLS-1$ } + + protected Method buildBasicUpdateByExampleMethod(String statementId, FullyQualifiedJavaType parameterType, + Set importedTypes) { + Method method = new Method(statementId); + method.setVisibility(JavaVisibility.PUBLIC); + method.setAbstract(true); + method.setReturnType(FullyQualifiedJavaType.getIntInstance()); + + method.addParameter(new Parameter(parameterType, "row", "@Param(\"row\")")); //$NON-NLS-1$ //$NON-NLS-2$ + + importedTypes.add(parameterType); + + FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType(introspectedTable.getExampleType()); + method.addParameter(new Parameter(exampleType,"example", "@Param(\"example\")")); //$NON-NLS-1$ //$NON-NLS-2$ + importedTypes.add(exampleType); + + importedTypes.add(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ + + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); + + return method; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleSelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleSelectiveMethodGenerator.java index 742ff6ac94..eaa08ef11b 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleSelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleSelectiveMethodGenerator.java @@ -20,46 +20,21 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByExampleSelectiveMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByExampleSelectiveMethodGenerator extends AbstractJavaMapperMethodGenerator { @Override public void addInterfaceElements(Interface interfaze) { - Method method = new Method(introspectedTable - .getUpdateByExampleSelectiveStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - - FullyQualifiedJavaType parameterType = - introspectedTable.getRules().calculateAllFieldsClass(); - method.addParameter(new Parameter(parameterType, - "row", "@Param(\"row\")")); //$NON-NLS-1$ //$NON-NLS-2$ - + String statementId = introspectedTable.getUpdateByExampleSelectiveStatementId(); + FullyQualifiedJavaType parameterType = introspectedTable.getRules().calculateAllFieldsClass(); Set importedTypes = new TreeSet<>(); - importedTypes.add(parameterType); - - FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); - method.addParameter(new Parameter(exampleType, - "example", "@Param(\"example\")")); //$NON-NLS-1$ //$NON-NLS-2$ - importedTypes.add(exampleType); - - importedTypes.add(new FullyQualifiedJavaType( - "org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByExampleMethod(statementId, parameterType, importedTypes); addMapperAnnotations(method); - if (context.getPlugins() - .clientUpdateByExampleSelectiveMethodGenerated(method, interfaze, - introspectedTable)) { + if (context.getPlugins().clientUpdateByExampleSelectiveMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithBLOBsMethodGenerator.java index cbb45bf1db..b086723493 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithBLOBsMethodGenerator.java @@ -20,12 +20,9 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByExampleWithBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByExampleWithBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public UpdateByExampleWithBLOBsMethodGenerator() { super(); @@ -33,43 +30,20 @@ public UpdateByExampleWithBLOBsMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { - Method method = new Method(introspectedTable - .getUpdateByExampleWithBLOBsStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - + String statementId = introspectedTable.getUpdateByExampleWithBLOBsStatementId(); FullyQualifiedJavaType parameterType; if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getRecordWithBLOBsType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getRecordWithBLOBsType()); } else { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } - method.addParameter(new Parameter(parameterType, - "row", "@Param(\"row\")")); //$NON-NLS-1$ //$NON-NLS-2$ - Set importedTypes = new TreeSet<>(); - importedTypes.add(parameterType); - - FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); - method.addParameter(new Parameter(exampleType, - "example", "@Param(\"example\")")); //$NON-NLS-1$ //$NON-NLS-2$ - importedTypes.add(exampleType); - - importedTypes.add(new FullyQualifiedJavaType( - "org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByExampleMethod(statementId, parameterType, importedTypes); addMapperAnnotations(method); - if (context.getPlugins() - .clientUpdateByExampleWithBLOBsMethodGenerated(method, interfaze, - introspectedTable)) { + if (context.getPlugins().clientUpdateByExampleWithBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithoutBLOBsMethodGenerator.java index 3074d8d8bf..412246d21e 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByExampleWithoutBLOBsMethodGenerator.java @@ -20,12 +20,9 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByExampleWithoutBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByExampleWithoutBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public UpdateByExampleWithoutBLOBsMethodGenerator() { super(); @@ -33,42 +30,21 @@ public UpdateByExampleWithoutBLOBsMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { - Method method = new Method(introspectedTable.getUpdateByExampleStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - + String statementId = introspectedTable.getUpdateByExampleStatementId(); FullyQualifiedJavaType parameterType; if (introspectedTable.getRules().generateBaseRecordClass()) { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } else { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getPrimaryKeyType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getPrimaryKeyType()); } - method.addParameter(new Parameter(parameterType, - "row", "@Param(\"row\")")); //$NON-NLS-1$ //$NON-NLS-2$ - Set importedTypes = new TreeSet<>(); - importedTypes.add(parameterType); - - FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); - method.addParameter(new Parameter(exampleType, - "example", "@Param(\"example\")")); //$NON-NLS-1$ //$NON-NLS-2$ - importedTypes.add(exampleType); - - importedTypes.add(new FullyQualifiedJavaType( - "org.apache.ibatis.annotations.Param")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByExampleMethod(statementId, parameterType, importedTypes); addMapperAnnotations(method); if (context.getPlugins() - .clientUpdateByExampleWithoutBLOBsMethodGenerated(method, - interfaze, introspectedTable)) { + .clientUpdateByExampleWithoutBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); From 1b3f9cc0ceba4a96cca333ed19c90365dfe4074d Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Thu, 20 May 2021 16:37:27 -0400 Subject: [PATCH 17/24] Common Update By Primary Key Method --- .../AbstractJavaMapperMethodGenerator.java | 11 ++++++++ ...eByPrimaryKeySelectiveMethodGenerator.java | 27 ++++-------------- ...eByPrimaryKeyWithBLOBsMethodGenerator.java | 28 ++++--------------- ...PrimaryKeyWithoutBLOBsMethodGenerator.java | 21 ++++---------- 4 files changed, 28 insertions(+), 59 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 56e2c3016f..072d568da4 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -322,4 +322,15 @@ protected Method buildBasicUpdateByExampleMethod(String statementId, FullyQualif return method; } + + protected Method buildBasicUpdateByPrimaryKeyMethod(String statementId, FullyQualifiedJavaType parameterType) { + Method method = new Method(statementId); + method.setVisibility(JavaVisibility.PUBLIC); + method.setAbstract(true); + method.setReturnType(FullyQualifiedJavaType.getIntInstance()); + method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ + + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); + return method; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeySelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeySelectiveMethodGenerator.java index fa45a021d3..456cc1c5bb 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeySelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeySelectiveMethodGenerator.java @@ -20,12 +20,9 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByPrimaryKeySelectiveMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByPrimaryKeySelectiveMethodGenerator extends AbstractJavaMapperMethodGenerator { public UpdateByPrimaryKeySelectiveMethodGenerator() { super(); @@ -35,32 +32,20 @@ public UpdateByPrimaryKeySelectiveMethodGenerator() { public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); FullyQualifiedJavaType parameterType; - if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getRecordWithBLOBsType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getRecordWithBLOBsType()); } else { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } - + String statementId = introspectedTable.getUpdateByPrimaryKeySelectiveStatementId(); importedTypes.add(parameterType); - Method method = new Method(introspectedTable - .getUpdateByPrimaryKeySelectiveStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ - - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByPrimaryKeyMethod(statementId, parameterType); addMapperAnnotations(method); if (context.getPlugins() - .clientUpdateByPrimaryKeySelectiveMethodGenerated(method, - interfaze, introspectedTable)) { + .clientUpdateByPrimaryKeySelectiveMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithBLOBsMethodGenerator.java index 2e9d78315c..3754b50123 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithBLOBsMethodGenerator.java @@ -20,12 +20,9 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByPrimaryKeyWithBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByPrimaryKeyWithBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public UpdateByPrimaryKeyWithBLOBsMethodGenerator() { super(); @@ -35,33 +32,20 @@ public UpdateByPrimaryKeyWithBLOBsMethodGenerator() { public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); FullyQualifiedJavaType parameterType; - if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getRecordWithBLOBsType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getRecordWithBLOBsType()); } else { - parameterType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } - + String statementId = introspectedTable.getUpdateByPrimaryKeyWithBLOBsStatementId(); importedTypes.add(parameterType); - Method method = new Method(introspectedTable - .getUpdateByPrimaryKeyWithBLOBsStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - - method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ - - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByPrimaryKeyMethod(statementId, parameterType); addMapperAnnotations(method); if (context.getPlugins() - .clientUpdateByPrimaryKeyWithBLOBsMethodGenerated(method, - interfaze, introspectedTable)) { + .clientUpdateByPrimaryKeyWithBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java index e20e61fa57..86d8a1b4f2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/UpdateByPrimaryKeyWithoutBLOBsMethodGenerator.java @@ -20,12 +20,9 @@ import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; -import org.mybatis.generator.api.dom.java.JavaVisibility; import org.mybatis.generator.api.dom.java.Method; -import org.mybatis.generator.api.dom.java.Parameter; -public class UpdateByPrimaryKeyWithoutBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class UpdateByPrimaryKeyWithoutBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public UpdateByPrimaryKeyWithoutBLOBsMethodGenerator() { super(); @@ -34,24 +31,16 @@ public UpdateByPrimaryKeyWithoutBLOBsMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); - FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); + String statementId = introspectedTable.getUpdateByPrimaryKeyStatementId(); importedTypes.add(parameterType); - Method method = new Method(introspectedTable.getUpdateByPrimaryKeyStatementId()); - method.setVisibility(JavaVisibility.PUBLIC); - method.setAbstract(true); - method.setReturnType(FullyQualifiedJavaType.getIntInstance()); - method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ - - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + Method method = buildBasicUpdateByPrimaryKeyMethod(statementId, parameterType); addMapperAnnotations(method); if (context.getPlugins() - .clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(method, - interfaze, introspectedTable)) { + .clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); From b183160b1e23e05293064c602ff949b998f4be1e Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Thu, 20 May 2021 17:54:56 -0400 Subject: [PATCH 18/24] General Code Formatting --- .../codegen/AbstractJavaGenerator.java | 9 +- .../generator/codegen/RootClassInfo.java | 17 +- .../IntrospectedTableMyBatis3Impl.java | 31 +- .../IntrospectedTableMyBatis3SimpleImpl.java | 17 +- .../mybatis3/MyBatis3FormattingUtilities.java | 36 +- .../javamapper/JavaMapperGenerator.java | 16 +- .../javamapper/SimpleJavaClientGenerator.java | 16 +- .../javamapper/SqlProviderGenerator.java | 44 +-- .../AbstractJavaMapperMethodGenerator.java | 3 +- .../CountByExampleMethodGenerator.java | 14 +- .../DeleteByExampleMethodGenerator.java | 11 +- .../elements/InsertMethodGenerator.java | 12 +- .../InsertSelectiveMethodGenerator.java | 12 +- .../elements/SelectAllMethodGenerator.java | 11 +- ...lectByExampleWithBLOBsMethodGenerator.java | 26 +- ...tByExampleWithoutBLOBsMethodGenerator.java | 23 +- ...atedDeleteByPrimaryKeyMethodGenerator.java | 3 +- ...dateByExampleWithBLOBsMethodGenerator.java | 8 +- ...eByExampleWithoutBLOBsMethodGenerator.java | 8 +- .../AbstractJavaProviderMethodGenerator.java | 3 +- .../ProviderApplyWhereMethodGenerator.java | 3 +- ...ProviderCountByExampleMethodGenerator.java | 9 +- ...roviderDeleteByExampleMethodGenerator.java | 9 +- ...roviderInsertSelectiveMethodGenerator.java | 9 +- ...lectByExampleWithBLOBsMethodGenerator.java | 8 +- ...tByExampleWithoutBLOBsMethodGenerator.java | 7 +- ...dateByExampleSelectiveMethodGenerator.java | 13 +- ...dateByExampleWithBLOBsMethodGenerator.java | 4 +- ...eByExampleWithoutBLOBsMethodGenerator.java | 13 +- ...eByPrimaryKeySelectiveMethodGenerator.java | 7 +- .../mybatis3/model/BaseRecordGenerator.java | 35 +- .../mybatis3/model/ExampleGenerator.java | 329 ++++++------------ .../mybatis3/model/PrimaryKeyGenerator.java | 30 +- .../model/RecordWithBLOBsGenerator.java | 35 +- .../mybatis3/model/SimpleModelGenerator.java | 31 +- .../xmlmapper/SimpleXMLMapperGenerator.java | 22 +- .../xmlmapper/XMLMapperGenerator.java | 49 +-- .../elements/AbstractXmlElementGenerator.java | 78 ++--- .../BaseColumnListElementGenerator.java | 6 +- .../BlobColumnListElementGenerator.java | 6 +- .../DeleteByExampleElementGenerator.java | 9 +- .../DeleteByPrimaryKeyElementGenerator.java | 16 +- .../ExampleWhereClauseElementGenerator.java | 9 +- .../elements/InsertElementGenerator.java | 9 +- .../InsertSelectiveElementGenerator.java | 18 +- .../ResultMapWithBLOBsElementGenerator.java | 12 +- ...ResultMapWithoutBLOBsElementGenerator.java | 15 +- ...ectByExampleWithBLOBsElementGenerator.java | 10 +- ...ByExampleWithoutBLOBsElementGenerator.java | 7 +- .../SelectByPrimaryKeyElementGenerator.java | 12 +- .../SimpleSelectAllElementGenerator.java | 9 +- ...pleSelectByPrimaryKeyElementGenerator.java | 9 +- ...ateByExampleSelectiveElementGenerator.java | 6 +- ...ateByExampleWithBLOBsElementGenerator.java | 6 +- ...ByExampleWithoutBLOBsElementGenerator.java | 6 +- ...ByPrimaryKeySelectiveElementGenerator.java | 6 +- ...ByPrimaryKeyWithBLOBsElementGenerator.java | 6 +- ...rimaryKeyWithoutBLOBsElementGenerator.java | 6 +- 58 files changed, 418 insertions(+), 776 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/AbstractJavaGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/AbstractJavaGenerator.java index 9fdf1a1dcc..b114781ede 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/AbstractJavaGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/AbstractJavaGenerator.java @@ -41,8 +41,7 @@ public String getProject() { } public static Method getGetter(Field field) { - Method method = new Method(getGetterMethodName(field.getName(), field - .getType())); + Method method = new Method(getGetterMethodName(field.getName(), field.getType())); method.setReturnType(field.getType()); method.setVisibility(JavaVisibility.PUBLIC); String s = "return " + field.getName() + ';'; //$NON-NLS-1$ @@ -52,11 +51,9 @@ public static Method getGetter(Field field) { } public String getRootClass() { - String rootClass = introspectedTable - .getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_CLASS); + String rootClass = introspectedTable.getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_CLASS); if (rootClass == null) { - Properties properties = context - .getJavaModelGeneratorConfiguration().getProperties(); + Properties properties = context.getJavaModelGeneratorConfiguration().getProperties(); rootClass = properties.getProperty(PropertyRegistry.ANY_ROOT_CLASS); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/RootClassInfo.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/RootClassInfo.java index 8175577368..0f35a623b2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/RootClassInfo.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/RootClassInfo.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,8 +42,7 @@ public class RootClassInfo { rootClassInfoMap = Collections.synchronizedMap(new HashMap<>()); } - public static RootClassInfo getInstance(String className, - List warnings) { + public static RootClassInfo getInstance(String className, List warnings) { return rootClassInfoMap.computeIfAbsent(className, k -> new RootClassInfo(k, warnings)); } @@ -125,11 +124,9 @@ private boolean isProperType(String propertyName, String propertyType, PropertyD String introspectedPropertyType = propertyDescriptor.getPropertyType().getName(); if (genericMode && introspectedPropertyType.equals("java.lang.Object")) { //$NON-NLS-1$ // OK - but add a warning - warnings.add(getString("Warning.28", //$NON-NLS-1$ - propertyName, className)); + warnings.add(getString("Warning.28", propertyName, className)); //$NON-NLS-1$ } else if (!introspectedPropertyType.equals(propertyType)) { - warnings.add(getString("Warning.21", //$NON-NLS-1$ - propertyName, className, propertyType)); + warnings.add(getString("Warning.21", propertyName, className, propertyType)); //$NON-NLS-1$ return false; } @@ -138,8 +135,7 @@ private boolean isProperType(String propertyName, String propertyType, PropertyD private boolean hasGetter(String propertyName, PropertyDescriptor propertyDescriptor) { if (propertyDescriptor.getReadMethod() == null) { - warnings.add(getString("Warning.22", //$NON-NLS-1$ - propertyName, className)); + warnings.add(getString("Warning.22", propertyName, className)); //$NON-NLS-1$ return false; } @@ -148,8 +144,7 @@ private boolean hasGetter(String propertyName, PropertyDescriptor propertyDescri private boolean hasSetter(String propertyName, PropertyDescriptor propertyDescriptor) { if (propertyDescriptor.getWriteMethod() == null) { - warnings.add(getString("Warning.23", //$NON-NLS-1$ - propertyName, className)); + warnings.add(getString("Warning.23", propertyName, className)); //$NON-NLS-1$ return false; } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3Impl.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3Impl.java index 8eda689b8b..338d53e15f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3Impl.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3Impl.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -121,8 +121,7 @@ protected AbstractJavaClientGenerator createJavaClientGenerator() { } else if ("MAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$ javaGenerator = new JavaMapperGenerator(getClientProject()); } else { - javaGenerator = (AbstractJavaClientGenerator) ObjectFactory - .createInternalObject(type); + javaGenerator = (AbstractJavaClientGenerator) ObjectFactory.createInternalObject(type); } return javaGenerator; @@ -132,36 +131,31 @@ protected void calculateJavaModelGenerators(List warnings, ProgressCallback progressCallback) { if (getRules().generateExampleClass()) { AbstractJavaGenerator javaGenerator = new ExampleGenerator(getExampleProject()); - initializeAbstractGenerator(javaGenerator, warnings, - progressCallback); + initializeAbstractGenerator(javaGenerator, warnings, progressCallback); javaGenerators.add(javaGenerator); } if (getRules().generatePrimaryKeyClass()) { AbstractJavaGenerator javaGenerator = new PrimaryKeyGenerator(getModelProject()); - initializeAbstractGenerator(javaGenerator, warnings, - progressCallback); + initializeAbstractGenerator(javaGenerator, warnings, progressCallback); javaGenerators.add(javaGenerator); } if (getRules().generateBaseRecordClass()) { AbstractJavaGenerator javaGenerator = new BaseRecordGenerator(getModelProject()); - initializeAbstractGenerator(javaGenerator, warnings, - progressCallback); + initializeAbstractGenerator(javaGenerator, warnings, progressCallback); javaGenerators.add(javaGenerator); } if (getRules().generateRecordWithBLOBsClass()) { AbstractJavaGenerator javaGenerator = new RecordWithBLOBsGenerator(getModelProject()); - initializeAbstractGenerator(javaGenerator, warnings, - progressCallback); + initializeAbstractGenerator(javaGenerator, warnings, progressCallback); javaGenerators.add(javaGenerator); } } - protected void initializeAbstractGenerator( - AbstractGenerator abstractGenerator, List warnings, - ProgressCallback progressCallback) { + protected void initializeAbstractGenerator(AbstractGenerator abstractGenerator, List warnings, + ProgressCallback progressCallback) { if (abstractGenerator == null) { return; } @@ -177,8 +171,7 @@ public List getGeneratedJavaFiles() { List answer = new ArrayList<>(); for (AbstractJavaGenerator javaGenerator : javaGenerators) { - List compilationUnits = javaGenerator - .getCompilationUnits(); + List compilationUnits = javaGenerator.getCompilationUnits(); for (CompilationUnit compilationUnit : compilationUnits) { GeneratedJavaFile gjf = new GeneratedJavaFile(compilationUnit, javaGenerator.getProject(), @@ -248,14 +241,12 @@ public List getGeneratedXmlFiles() { @Override public int getGenerationSteps() { - return javaGenerators.size() - + (xmlMapperGenerator == null ? 0 : 1); + return javaGenerators.size() + (xmlMapperGenerator == null ? 0 : 1); } @Override public boolean requiresXMLGenerator() { - AbstractJavaClientGenerator javaClientGenerator = - createJavaClientGenerator(); + AbstractJavaClientGenerator javaClientGenerator = createJavaClientGenerator(); if (javaClientGenerator == null) { return false; diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3SimpleImpl.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3SimpleImpl.java index 59f0674547..366ae8d1c1 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3SimpleImpl.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/IntrospectedTableMyBatis3SimpleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,8 +50,7 @@ protected void calculateXmlMapperGenerator(AbstractJavaClientGenerator javaClien xmlMapperGenerator = javaClientGenerator.getMatchedXMLGenerator(); } - initializeAbstractGenerator(xmlMapperGenerator, warnings, - progressCallback); + initializeAbstractGenerator(xmlMapperGenerator, warnings, progressCallback); } @Override @@ -60,8 +59,7 @@ protected AbstractJavaClientGenerator createJavaClientGenerator() { return null; } - String type = context.getJavaClientGeneratorConfiguration() - .getConfigurationType(); + String type = context.getJavaClientGeneratorConfiguration().getConfigurationType(); AbstractJavaClientGenerator javaGenerator; if ("XMLMAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$ @@ -71,20 +69,17 @@ protected AbstractJavaClientGenerator createJavaClientGenerator() { } else if ("MAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$ javaGenerator = new SimpleJavaClientGenerator(getClientProject()); } else { - javaGenerator = (AbstractJavaClientGenerator) ObjectFactory - .createInternalObject(type); + javaGenerator = (AbstractJavaClientGenerator) ObjectFactory.createInternalObject(type); } return javaGenerator; } @Override - protected void calculateJavaModelGenerators(List warnings, - ProgressCallback progressCallback) { + protected void calculateJavaModelGenerators(List warnings, ProgressCallback progressCallback) { AbstractJavaGenerator javaGenerator = new SimpleModelGenerator(getModelProject()); - initializeAbstractGenerator(javaGenerator, warnings, - progressCallback); + initializeAbstractGenerator(javaGenerator, warnings, progressCallback); javaGenerators.add(javaGenerator); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/MyBatis3FormattingUtilities.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/MyBatis3FormattingUtilities.java index 57288b65c0..c1de705dca 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/MyBatis3FormattingUtilities.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/MyBatis3FormattingUtilities.java @@ -26,13 +26,11 @@ private MyBatis3FormattingUtilities() { super(); } - public static String getParameterClause( - IntrospectedColumn introspectedColumn) { + public static String getParameterClause(IntrospectedColumn introspectedColumn) { return getParameterClause(introspectedColumn, null); } - public static String getParameterClause( - IntrospectedColumn introspectedColumn, String prefix) { + public static String getParameterClause(IntrospectedColumn introspectedColumn, String prefix) { StringBuilder sb = new StringBuilder(); sb.append("#{"); //$NON-NLS-1$ @@ -58,16 +56,14 @@ public static String getParameterClause( * the introspected column * @return the proper phrase */ - public static String getSelectListPhrase( - IntrospectedColumn introspectedColumn) { + public static String getSelectListPhrase(IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { StringBuilder sb = new StringBuilder(); sb.append(getAliasedEscapedColumnName(introspectedColumn)); sb.append(" as "); //$NON-NLS-1$ if (introspectedColumn.isColumnNameDelimited()) { - sb.append(introspectedColumn.getContext() - .getBeginningDelimiter()); + sb.append(introspectedColumn.getContext().getBeginningDelimiter()); } sb.append(introspectedColumn.getTableAlias()); sb.append('_'); @@ -81,25 +77,21 @@ public static String getSelectListPhrase( } } - public static String getEscapedColumnName( - IntrospectedColumn introspectedColumn) { + public static String getEscapedColumnName(IntrospectedColumn introspectedColumn) { StringBuilder sb = new StringBuilder(); sb.append(introspectedColumn.getActualColumnName()); if (introspectedColumn.isColumnNameDelimited()) { - sb.insert(0, introspectedColumn.getContext() - .getBeginningDelimiter()); + sb.insert(0, introspectedColumn.getContext().getBeginningDelimiter()); sb.append(introspectedColumn.getContext().getEndingDelimiter()); } return sb.toString(); } - public static String getAliasedEscapedColumnName( - IntrospectedColumn introspectedColumn) { + public static String getAliasedEscapedColumnName(IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { - return introspectedColumn.getTableAlias() + '.' - + getEscapedColumnName(introspectedColumn); + return introspectedColumn.getTableAlias() + '.' + getEscapedColumnName(introspectedColumn); } else { return getEscapedColumnName(introspectedColumn); } @@ -117,8 +109,7 @@ public static String getAliasedEscapedColumnName( * the introspected column * @return the aliased column name */ - public static String getAliasedActualColumnName( - IntrospectedColumn introspectedColumn) { + public static String getAliasedActualColumnName(IntrospectedColumn introspectedColumn) { StringBuilder sb = new StringBuilder(); if (stringHasValue(introspectedColumn.getTableAlias())) { sb.append(introspectedColumn.getTableAlias()); @@ -126,15 +117,13 @@ public static String getAliasedActualColumnName( } if (introspectedColumn.isColumnNameDelimited()) { - sb.append(escapeStringForJava(introspectedColumn - .getContext().getBeginningDelimiter())); + sb.append(escapeStringForJava(introspectedColumn.getContext().getBeginningDelimiter())); } sb.append(introspectedColumn.getActualColumnName()); if (introspectedColumn.isColumnNameDelimited()) { - sb.append(escapeStringForJava(introspectedColumn - .getContext().getEndingDelimiter())); + sb.append(escapeStringForJava(introspectedColumn.getContext().getEndingDelimiter())); } return sb.toString(); @@ -148,8 +137,7 @@ public static String getAliasedActualColumnName( * the introspected column * @return the renamed column name */ - public static String getRenamedColumnNameForResultMap( - IntrospectedColumn introspectedColumn) { + public static String getRenamedColumnNameForResultMap(IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { return introspectedColumn.getTableAlias() + '_' + introspectedColumn.getActualColumnName(); } else { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/JavaMapperGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/JavaMapperGenerator.java index 671eaa396d..bc7becc372 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/JavaMapperGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/JavaMapperGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -63,22 +63,19 @@ public List getCompilationUnits() { introspectedTable.getFullyQualifiedTable().toString())); CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getMyBatis3JavaMapperType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getMyBatis3JavaMapperType()); Interface interfaze = new Interface(type); interfaze.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(interfaze); - String rootInterface = introspectedTable - .getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_INTERFACE); + String rootInterface = introspectedTable.getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_INTERFACE); if (!stringHasValue(rootInterface)) { rootInterface = context.getJavaClientGeneratorConfiguration() .getProperty(PropertyRegistry.ANY_ROOT_INTERFACE); } if (stringHasValue(rootInterface)) { - FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType( - rootInterface); + FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(rootInterface); interfaze.addSuperInterface(fqjt); interfaze.addImportedType(fqjt); } @@ -210,9 +207,8 @@ protected void addUpdateByPrimaryKeyWithoutBLOBsMethod(Interface interfaze) { } } - protected void initializeAndExecuteGenerator( - AbstractJavaMapperMethodGenerator methodGenerator, - Interface interfaze) { + protected void initializeAndExecuteGenerator(AbstractJavaMapperMethodGenerator methodGenerator, + Interface interfaze) { methodGenerator.setContext(context); methodGenerator.setIntrospectedTable(introspectedTable); methodGenerator.setProgressCallback(progressCallback); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SimpleJavaClientGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SimpleJavaClientGenerator.java index 1c3fa676aa..841e5a1a6d 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SimpleJavaClientGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SimpleJavaClientGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,22 +54,19 @@ public List getCompilationUnits() { introspectedTable.getFullyQualifiedTable().toString())); CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getMyBatis3JavaMapperType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getMyBatis3JavaMapperType()); Interface interfaze = new Interface(type); interfaze.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(interfaze); - String rootInterface = introspectedTable - .getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_INTERFACE); + String rootInterface = introspectedTable.getTableConfigurationProperty(PropertyRegistry.ANY_ROOT_INTERFACE); if (!stringHasValue(rootInterface)) { rootInterface = context.getJavaClientGeneratorConfiguration() .getProperty(PropertyRegistry.ANY_ROOT_INTERFACE); } if (stringHasValue(rootInterface)) { - FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType( - rootInterface); + FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(rootInterface); interfaze.addSuperInterface(fqjt); interfaze.addImportedType(fqjt); } @@ -126,9 +123,8 @@ protected void addUpdateByPrimaryKeyMethod(Interface interfaze) { } } - protected void initializeAndExecuteGenerator( - AbstractJavaMapperMethodGenerator methodGenerator, - Interface interfaze) { + protected void initializeAndExecuteGenerator(AbstractJavaMapperMethodGenerator methodGenerator, + Interface interfaze) { methodGenerator.setContext(context); methodGenerator.setIntrospectedTable(introspectedTable); methodGenerator.setProgressCallback(progressCallback); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SqlProviderGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SqlProviderGenerator.java index c0aa74e826..6d6cde1676 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SqlProviderGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/SqlProviderGenerator.java @@ -50,8 +50,7 @@ public List getCompilationUnits() { introspectedTable.getFullyQualifiedTable().toString())); CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getMyBatis3SqlProviderType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); TopLevelClass topLevelClass = new TopLevelClass(type); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -84,8 +83,7 @@ public List getCompilationUnits() { protected boolean addCountByExampleMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateCountByExample()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderCountByExampleMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderCountByExampleMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); rc = true; } @@ -96,8 +94,7 @@ protected boolean addCountByExampleMethod(TopLevelClass topLevelClass) { protected boolean addDeleteByExampleMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateDeleteByExample()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderDeleteByExampleMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderDeleteByExampleMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); rc = true; } @@ -107,18 +104,15 @@ protected boolean addDeleteByExampleMethod(TopLevelClass topLevelClass) { protected void addInsertSelectiveMethod(TopLevelClass topLevelClass) { if (introspectedTable.getRules().generateInsertSelective()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderInsertSelectiveMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderInsertSelectiveMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); } } - protected boolean addSelectByExampleWithBLOBsMethod( - TopLevelClass topLevelClass) { + protected boolean addSelectByExampleWithBLOBsMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateSelectByExampleWithBLOBs()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderSelectByExampleWithBLOBsMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderSelectByExampleWithBLOBsMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); rc = true; } @@ -126,8 +120,7 @@ protected boolean addSelectByExampleWithBLOBsMethod( return rc; } - protected boolean addSelectByExampleWithoutBLOBsMethod( - TopLevelClass topLevelClass) { + protected boolean addSelectByExampleWithoutBLOBsMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateSelectByExampleWithoutBLOBs()) { AbstractJavaProviderMethodGenerator methodGenerator = @@ -139,12 +132,10 @@ protected boolean addSelectByExampleWithoutBLOBsMethod( return rc; } - protected boolean addUpdateByExampleSelectiveMethod( - TopLevelClass topLevelClass) { + protected boolean addUpdateByExampleSelectiveMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateUpdateByExampleSelective()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderUpdateByExampleSelectiveMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderUpdateByExampleSelectiveMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); rc = true; } @@ -152,12 +143,10 @@ protected boolean addUpdateByExampleSelectiveMethod( return rc; } - protected boolean addUpdateByExampleWithBLOBsMethod( - TopLevelClass topLevelClass) { + protected boolean addUpdateByExampleWithBLOBsMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateUpdateByExampleWithBLOBs()) { - AbstractJavaProviderMethodGenerator methodGenerator = - new ProviderUpdateByExampleWithBLOBsMethodGenerator(); + AbstractJavaProviderMethodGenerator methodGenerator = new ProviderUpdateByExampleWithBLOBsMethodGenerator(); initializeAndExecuteGenerator(methodGenerator, topLevelClass); rc = true; } @@ -165,8 +154,7 @@ protected boolean addUpdateByExampleWithBLOBsMethod( return rc; } - protected boolean addUpdateByExampleWithoutBLOBsMethod( - TopLevelClass topLevelClass) { + protected boolean addUpdateByExampleWithoutBLOBsMethod(TopLevelClass topLevelClass) { boolean rc = false; if (introspectedTable.getRules().generateUpdateByExampleWithoutBLOBs()) { AbstractJavaProviderMethodGenerator methodGenerator = @@ -178,8 +166,7 @@ protected boolean addUpdateByExampleWithoutBLOBsMethod( return rc; } - protected void addUpdateByPrimaryKeySelectiveMethod( - TopLevelClass topLevelClass) { + protected void addUpdateByPrimaryKeySelectiveMethod(TopLevelClass topLevelClass) { if (introspectedTable.getRules().generateUpdateByPrimaryKeySelective()) { AbstractJavaProviderMethodGenerator methodGenerator = new ProviderUpdateByPrimaryKeySelectiveMethodGenerator(); @@ -192,9 +179,8 @@ protected void addApplyWhereMethod(TopLevelClass topLevelClass) { initializeAndExecuteGenerator(methodGenerator, topLevelClass); } - protected void initializeAndExecuteGenerator( - AbstractJavaProviderMethodGenerator methodGenerator, - TopLevelClass topLevelClass) { + protected void initializeAndExecuteGenerator(AbstractJavaProviderMethodGenerator methodGenerator, + TopLevelClass topLevelClass) { methodGenerator.setContext(context); methodGenerator.setIntrospectedTable(introspectedTable); methodGenerator.setProgressCallback(progressCallback); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index 072d568da4..d94ca0fbc2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -66,8 +66,7 @@ protected static String getResultAnnotation(Interface interfaze, IntrospectedCol } if (stringHasValue(introspectedColumn.getTypeHandler())) { - FullyQualifiedJavaType fqjt = - new FullyQualifiedJavaType(introspectedColumn.getTypeHandler()); + FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedColumn.getTypeHandler()); interfaze.addImportedType(fqjt); sb.append(", typeHandler="); //$NON-NLS-1$ sb.append(fqjt.getShortName()); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/CountByExampleMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/CountByExampleMethodGenerator.java index ff3303b858..c1ac44bd7d 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/CountByExampleMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/CountByExampleMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,8 +24,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -public class CountByExampleMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class CountByExampleMethodGenerator extends AbstractJavaMapperMethodGenerator { public CountByExampleMethodGenerator() { super(); @@ -33,8 +32,7 @@ public CountByExampleMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { - FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); + FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getExampleType()); Set importedTypes = new TreeSet<>(); importedTypes.add(fqjt); @@ -44,13 +42,11 @@ public void addInterfaceElements(Interface interfaze) { method.setAbstract(true); method.setReturnType(new FullyQualifiedJavaType("long")); //$NON-NLS-1$ method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(method); - if (context.getPlugins().clientCountByExampleMethodGenerated(method, - interfaze, introspectedTable)) { + if (context.getPlugins().clientCountByExampleMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByExampleMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByExampleMethodGenerator.java index b9f432a1ca..e099479fee 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByExampleMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/DeleteByExampleMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,8 +24,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -public class DeleteByExampleMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class DeleteByExampleMethodGenerator extends AbstractJavaMapperMethodGenerator { public DeleteByExampleMethodGenerator() { super(); @@ -34,8 +33,7 @@ public DeleteByExampleMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(type); Method method = new Method(introspectedTable.getDeleteByExampleStatementId()); @@ -44,8 +42,7 @@ public void addInterfaceElements(Interface interfaze) { method.setReturnType(FullyQualifiedJavaType.getIntInstance()); method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertMethodGenerator.java index 4da71ce730..a7d8be551c 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertMethodGenerator.java @@ -43,24 +43,20 @@ public void addInterfaceElements(Interface interfaze) { FullyQualifiedJavaType parameterType; if (isSimple) { - parameterType = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } else { - parameterType = introspectedTable.getRules() - .calculateAllFieldsClass(); + parameterType = introspectedTable.getRules().calculateAllFieldsClass(); } Set importedTypes = new TreeSet<>(); importedTypes.add(parameterType); method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(method); - if (context.getPlugins().clientInsertMethodGenerated(method, interfaze, - introspectedTable)) { + if (context.getPlugins().clientInsertMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertSelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertSelectiveMethodGenerator.java index e4d54279d0..ef0443d551 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertSelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/InsertSelectiveMethodGenerator.java @@ -24,8 +24,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -public class InsertSelectiveMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class InsertSelectiveMethodGenerator extends AbstractJavaMapperMethodGenerator { public InsertSelectiveMethodGenerator() { super(); @@ -39,20 +38,17 @@ public void addInterfaceElements(Interface interfaze) { method.setVisibility(JavaVisibility.PUBLIC); method.setAbstract(true); - FullyQualifiedJavaType parameterType = introspectedTable.getRules() - .calculateAllFieldsClass(); + FullyQualifiedJavaType parameterType = introspectedTable.getRules().calculateAllFieldsClass(); Set importedTypes = new TreeSet<>(); importedTypes.add(parameterType); method.addParameter(new Parameter(parameterType, "row")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(method); - if (context.getPlugins().clientInsertSelectiveMethodGenerated( - method, interfaze, introspectedTable)) { + if (context.getPlugins().clientInsertSelectiveMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectAllMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectAllMethodGenerator.java index b676ca8228..790b7bc263 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectAllMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectAllMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -47,20 +47,17 @@ public void addInterfaceElements(Interface interfaze) { FullyQualifiedJavaType returnType = FullyQualifiedJavaType .getNewListInstance(); FullyQualifiedJavaType listType; - listType = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + listType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); importedTypes.add(listType); returnType.addTypeArgument(listType); method.setReturnType(returnType); - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(interfaze, method); - if (context.getPlugins().clientSelectAllMethodGenerated(method, - interfaze, introspectedTable)) { + if (context.getPlugins().clientSelectAllMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithBLOBsMethodGenerator.java index cf01694d7b..5012e8eee2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithBLOBsMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,8 +24,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -public class SelectByExampleWithBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class SelectByExampleWithBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public SelectByExampleWithBLOBsMethodGenerator() { super(); @@ -34,26 +33,21 @@ public SelectByExampleWithBLOBsMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(type); importedTypes.add(FullyQualifiedJavaType.getNewListInstance()); - Method method = new Method(introspectedTable - .getSelectByExampleWithBLOBsStatementId()); + Method method = new Method(introspectedTable.getSelectByExampleWithBLOBsStatementId()); method.setVisibility(JavaVisibility.PUBLIC); method.setAbstract(true); - FullyQualifiedJavaType returnType = FullyQualifiedJavaType - .getNewListInstance(); + FullyQualifiedJavaType returnType = FullyQualifiedJavaType.getNewListInstance(); FullyQualifiedJavaType listType; if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { - listType = new FullyQualifiedJavaType(introspectedTable - .getRecordWithBLOBsType()); + listType = new FullyQualifiedJavaType(introspectedTable.getRecordWithBLOBsType()); } else { // the blob fields must be rolled up into the base class - listType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + listType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } importedTypes.add(listType); @@ -61,14 +55,12 @@ public void addInterfaceElements(Interface interfaze) { method.setReturnType(returnType); method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(interfaze, method); if (context.getPlugins() - .clientSelectByExampleWithBLOBsMethodGenerated(method, interfaze, - introspectedTable)) { + .clientSelectByExampleWithBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithoutBLOBsMethodGenerator.java index 501d6ee645..720760a116 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/SelectByExampleWithoutBLOBsMethodGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,8 +26,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.Parameter; -public class SelectByExampleWithoutBLOBsMethodGenerator extends - AbstractJavaMapperMethodGenerator { +public class SelectByExampleWithoutBLOBsMethodGenerator extends AbstractJavaMapperMethodGenerator { public SelectByExampleWithoutBLOBsMethodGenerator() { super(); @@ -36,8 +35,7 @@ public SelectByExampleWithoutBLOBsMethodGenerator() { @Override public void addInterfaceElements(Interface interfaze) { Set importedTypes = new TreeSet<>(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(type); importedTypes.add(FullyQualifiedJavaType.getNewListInstance()); @@ -45,15 +43,12 @@ public void addInterfaceElements(Interface interfaze) { method.setVisibility(JavaVisibility.PUBLIC); method.setAbstract(true); - FullyQualifiedJavaType returnType = FullyQualifiedJavaType - .getNewListInstance(); + FullyQualifiedJavaType returnType = FullyQualifiedJavaType.getNewListInstance(); FullyQualifiedJavaType listType; if (introspectedTable.getRules().generateBaseRecordClass()) { - listType = new FullyQualifiedJavaType(introspectedTable - .getBaseRecordType()); + listType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } else if (introspectedTable.getRules().generatePrimaryKeyClass()) { - listType = new FullyQualifiedJavaType(introspectedTable - .getPrimaryKeyType()); + listType = new FullyQualifiedJavaType(introspectedTable.getPrimaryKeyType()); } else { throw new RuntimeException(getString("RuntimeError.12")); //$NON-NLS-1$ } @@ -64,14 +59,12 @@ public void addInterfaceElements(Interface interfaze) { method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(interfaze, method); if (context.getPlugins() - .clientSelectByExampleWithoutBLOBsMethodGenerated(method, - interfaze, introspectedTable)) { + .clientSelectByExampleWithoutBLOBsMethodGenerated(method, interfaze, introspectedTable)) { addExtraImports(interfaze); interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java index 9420c18957..c1a45de320 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedDeleteByPrimaryKeyMethodGenerator.java @@ -23,8 +23,7 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.codegen.mybatis3.javamapper.elements.DeleteByPrimaryKeyMethodGenerator; -public class AnnotatedDeleteByPrimaryKeyMethodGenerator extends - DeleteByPrimaryKeyMethodGenerator { +public class AnnotatedDeleteByPrimaryKeyMethodGenerator extends DeleteByPrimaryKeyMethodGenerator { public AnnotatedDeleteByPrimaryKeyMethodGenerator(boolean isSimple) { super(isSimple); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java index 3c00744db7..cf74bfe743 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java @@ -29,12 +29,8 @@ public AnnotatedUpdateByExampleWithBLOBsMethodGenerator() { @Override public void addMapperAnnotations(Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - - String s = "@UpdateProvider(type=" //$NON-NLS-1$ - + fqjt.getShortName() - + ".class, method=\"" //$NON-NLS-1$ - + introspectedTable.getUpdateByExampleWithBLOBsStatementId() - + "\")"; //$NON-NLS-1$ + String s = String.format("@UpdateProvider(type=%s.class, method=\"%s\")", fqjt.getShortName(), //$NON-NLS-1$ + introspectedTable.getUpdateByExampleWithBLOBsStatementId()); method.addAnnotation(s); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java index 14a2b523ff..aada7d3724 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java @@ -29,12 +29,8 @@ public AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator() { @Override public void addMapperAnnotations(Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - - String s = "@UpdateProvider(type=" //$NON-NLS-1$ - + fqjt.getShortName() - + ".class, method=\"" //$NON-NLS-1$ - + introspectedTable.getUpdateByExampleStatementId() - + "\")"; //$NON-NLS-1$ + String s = String.format("@UpdateProvider(type=%s.class, method=\"%s\")", fqjt.getShortName(), //$NON-NLS-1$ + introspectedTable.getUpdateByExampleStatementId()); method.addAnnotation(s); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/AbstractJavaProviderMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/AbstractJavaProviderMethodGenerator.java index df3e1125dd..82c49c484a 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/AbstractJavaProviderMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/AbstractJavaProviderMethodGenerator.java @@ -22,8 +22,7 @@ import org.mybatis.generator.api.dom.java.TopLevelClass; import org.mybatis.generator.codegen.AbstractGenerator; -public abstract class AbstractJavaProviderMethodGenerator extends - AbstractGenerator { +public abstract class AbstractJavaProviderMethodGenerator extends AbstractGenerator { protected static final FullyQualifiedJavaType BUILDER_IMPORT = new FullyQualifiedJavaType("org.apache.ibatis.jdbc.SQL"); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java index 4a60d564c9..3d1f007be4 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java @@ -23,8 +23,7 @@ import org.mybatis.generator.api.dom.java.Parameter; import org.mybatis.generator.api.dom.java.TopLevelClass; -public class ProviderApplyWhereMethodGenerator extends - AbstractJavaProviderMethodGenerator { +public class ProviderApplyWhereMethodGenerator extends AbstractJavaProviderMethodGenerator { private static final String[] BEGINNING_METHOD_LINES = { "if (example == null) {", //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderCountByExampleMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderCountByExampleMethodGenerator.java index 30b58d6a94..ed6b9e8533 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderCountByExampleMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderCountByExampleMethodGenerator.java @@ -32,14 +32,12 @@ public void addClassElements(TopLevelClass topLevelClass) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getExampleType()); Set importedTypes = initializeImportedTypes(fqjt); - Method method = new Method( - introspectedTable.getCountByExampleStatementId()); + Method method = new Method(introspectedTable.getCountByExampleStatementId()); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getStringInstance()); method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ method.addBodyLine(String.format("sql.SELECT(\"count(*)\").FROM(\"%s\");", //$NON-NLS-1$ @@ -47,8 +45,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine("applyWhere(sql, example, false);"); //$NON-NLS-1$ method.addBodyLine("return sql.toString();"); //$NON-NLS-1$ - if (context.getPlugins().providerCountByExampleMethodGenerated(method, topLevelClass, - introspectedTable)) { + if (context.getPlugins().providerCountByExampleMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderDeleteByExampleMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderDeleteByExampleMethodGenerator.java index ee502c83de..2b57d296cd 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderDeleteByExampleMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderDeleteByExampleMethodGenerator.java @@ -32,14 +32,12 @@ public void addClassElements(TopLevelClass topLevelClass) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getExampleType()); Set importedTypes = initializeImportedTypes(fqjt); - Method method = new Method( - introspectedTable.getDeleteByExampleStatementId()); + Method method = new Method(introspectedTable.getDeleteByExampleStatementId()); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getStringInstance()); method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ method.addBodyLine(String.format("sql.DELETE_FROM(\"%s\");", //$NON-NLS-1$ @@ -47,8 +45,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine("applyWhere(sql, example, false);"); //$NON-NLS-1$ method.addBodyLine("return sql.toString();"); //$NON-NLS-1$ - if (context.getPlugins().providerDeleteByExampleMethodGenerated(method, topLevelClass, - introspectedTable)) { + if (context.getPlugins().providerDeleteByExampleMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderInsertSelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderInsertSelectiveMethodGenerator.java index e5abe19243..d56f1a0864 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderInsertSelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderInsertSelectiveMethodGenerator.java @@ -37,14 +37,12 @@ public void addClassElements(TopLevelClass topLevelClass) { FullyQualifiedJavaType fqjt = introspectedTable.getRules().calculateAllFieldsClass(); Set importedTypes = initializeImportedTypes(fqjt); - Method method = new Method( - introspectedTable.getInsertSelectiveStatementId()); + Method method = new Method(introspectedTable.getInsertSelectiveStatementId()); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getStringInstance()); method.addParameter(new Parameter(fqjt, "row")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ @@ -74,8 +72,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine(""); //$NON-NLS-1$ method.addBodyLine("return sql.toString();"); //$NON-NLS-1$ - if (context.getPlugins().providerInsertSelectiveMethodGenerated(method, topLevelClass, - introspectedTable)) { + if (context.getPlugins().providerInsertSelectiveMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithBLOBsMethodGenerator.java index 010c4fc03c..ae6c493178 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithBLOBsMethodGenerator.java @@ -21,8 +21,8 @@ import org.mybatis.generator.api.dom.java.Method; import org.mybatis.generator.api.dom.java.TopLevelClass; -public class ProviderSelectByExampleWithBLOBsMethodGenerator extends - ProviderSelectByExampleWithoutBLOBsMethodGenerator { +public class ProviderSelectByExampleWithBLOBsMethodGenerator + extends ProviderSelectByExampleWithoutBLOBsMethodGenerator { @Override public List getColumns() { @@ -36,7 +36,7 @@ public String getMethodName() { @Override public boolean callPlugins(Method method, TopLevelClass topLevelClass) { - return context.getPlugins().providerSelectByExampleWithBLOBsMethodGenerated(method, topLevelClass, - introspectedTable); + return context.getPlugins() + .providerSelectByExampleWithBLOBsMethodGenerated(method, topLevelClass, introspectedTable); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithoutBLOBsMethodGenerator.java index 3c86d4d679..4727ecc488 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderSelectByExampleWithoutBLOBsMethodGenerator.java @@ -40,8 +40,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.setReturnType(FullyQualifiedJavaType.getStringInstance()); method.addParameter(new Parameter(fqjt, "example")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ @@ -90,7 +89,7 @@ public String getMethodName() { } public boolean callPlugins(Method method, TopLevelClass topLevelClass) { - return context.getPlugins().providerSelectByExampleWithoutBLOBsMethodGenerated(method, topLevelClass, - introspectedTable); + return context.getPlugins() + .providerSelectByExampleWithoutBLOBsMethodGenerated(method, topLevelClass, introspectedTable); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleSelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleSelectiveMethodGenerator.java index f99f4b47fe..891101f8d5 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleSelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleSelectiveMethodGenerator.java @@ -43,20 +43,17 @@ public void addClassElements(TopLevelClass topLevelClass) { Set importedTypes = initializeImportedTypes("java.util.Map"); //$NON-NLS-1$ - FullyQualifiedJavaType recordClass = - introspectedTable.getRules().calculateAllFieldsClass(); + FullyQualifiedJavaType recordClass = introspectedTable.getRules().calculateAllFieldsClass(); importedTypes.add(recordClass); method.addBodyLine(String.format("%s row = (%s) parameter.get(\"row\");", //$NON-NLS-1$ recordClass.getShortName(), recordClass.getShortName())); - FullyQualifiedJavaType example = - new FullyQualifiedJavaType(introspectedTable.getExampleType()); + FullyQualifiedJavaType example = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(example); method.addBodyLine(String.format("%s example = (%s) parameter.get(\"example\");", //$NON-NLS-1$ example.getShortName(), example.getShortName())); - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine(""); //$NON-NLS-1$ @@ -92,8 +89,8 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine("applyWhere(sql, example, true);"); //$NON-NLS-1$ method.addBodyLine("return sql.toString();"); //$NON-NLS-1$ - if (context.getPlugins().providerUpdateByExampleSelectiveMethodGenerated(method, topLevelClass, - introspectedTable)) { + if (context.getPlugins() + .providerUpdateByExampleSelectiveMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithBLOBsMethodGenerator.java index 71a7262917..888532d8a6 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithBLOBsMethodGenerator.java @@ -36,7 +36,7 @@ public List getColumns() { @Override public boolean callPlugins(Method method, TopLevelClass topLevelClass) { - return context.getPlugins().providerUpdateByExampleWithBLOBsMethodGenerated(method, topLevelClass, - introspectedTable); + return context.getPlugins() + .providerUpdateByExampleWithBLOBsMethodGenerated(method, topLevelClass, introspectedTable); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithoutBLOBsMethodGenerator.java index 52d10710a6..0f219adf51 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByExampleWithoutBLOBsMethodGenerator.java @@ -30,8 +30,7 @@ import org.mybatis.generator.api.dom.java.TopLevelClass; import org.mybatis.generator.codegen.mybatis3.ListUtilities; -public class ProviderUpdateByExampleWithoutBLOBsMethodGenerator extends - AbstractJavaProviderMethodGenerator { +public class ProviderUpdateByExampleWithoutBLOBsMethodGenerator extends AbstractJavaProviderMethodGenerator { @Override public void addClassElements(TopLevelClass topLevelClass) { @@ -42,8 +41,7 @@ public void addClassElements(TopLevelClass topLevelClass) { new FullyQualifiedJavaType("java.util.Map"), //$NON-NLS-1$ "parameter")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ @@ -64,8 +62,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine(""); //$NON-NLS-1$ Set importedTypes = initializeImportedTypes("java.util.Map"); //$NON-NLS-1$ - FullyQualifiedJavaType example = - new FullyQualifiedJavaType(introspectedTable.getExampleType()); + FullyQualifiedJavaType example = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(example); method.addBodyLine(String.format("%s example = (%s) parameter.get(\"example\");", //$NON-NLS-1$ example.getShortName(), example.getShortName())); @@ -88,7 +85,7 @@ public List getColumns() { } public boolean callPlugins(Method method, TopLevelClass topLevelClass) { - return context.getPlugins().providerUpdateByExampleWithoutBLOBsMethodGenerated(method, topLevelClass, - introspectedTable); + return context.getPlugins() + .providerUpdateByExampleWithoutBLOBsMethodGenerated(method, topLevelClass, introspectedTable); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByPrimaryKeySelectiveMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByPrimaryKeySelectiveMethodGenerator.java index c3c430b180..cfebf9db66 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByPrimaryKeySelectiveMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderUpdateByPrimaryKeySelectiveMethodGenerator.java @@ -42,8 +42,7 @@ public void addClassElements(TopLevelClass topLevelClass) { method.setVisibility(JavaVisibility.PUBLIC); method.addParameter(new Parameter(fqjt, "row")); //$NON-NLS-1$ - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); method.addBodyLine("SQL sql = new SQL();"); //$NON-NLS-1$ @@ -80,8 +79,8 @@ public void addClassElements(TopLevelClass topLevelClass) { method.addBodyLine("return sql.toString();"); //$NON-NLS-1$ - if (context.getPlugins().providerUpdateByPrimaryKeySelectiveMethodGenerated(method, topLevelClass, - introspectedTable)) { + if (context.getPlugins() + .providerUpdateByPrimaryKeySelectiveMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/BaseRecordGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/BaseRecordGenerator.java index 14e948fdff..b9504e9402 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/BaseRecordGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/BaseRecordGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -47,13 +47,11 @@ public BaseRecordGenerator(String project) { @Override public List getCompilationUnits() { FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable(); - progressCallback.startTask(getString( - "Progress.8", table.toString())); //$NON-NLS-1$ + progressCallback.startTask(getString("Progress.8", table.toString())); //$NON-NLS-1$ Plugin plugins = context.getPlugins(); CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); TopLevelClass topLevelClass = new TopLevelClass(type); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -81,30 +79,26 @@ public List getCompilationUnits() { String rootClass = getRootClass(); for (IntrospectedColumn introspectedColumn : introspectedColumns) { - if (RootClassInfo.getInstance(rootClass, warnings) - .containsProperty(introspectedColumn)) { + if (RootClassInfo.getInstance(rootClass, warnings).containsProperty(introspectedColumn)) { continue; } Field field = getJavaBeansField(introspectedColumn, context, introspectedTable); - if (plugins.modelFieldGenerated(field, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addField(field); topLevelClass.addImportedType(field.getType()); } Method method = getJavaBeansGetter(introspectedColumn, context, introspectedTable); - if (plugins.modelGetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addMethod(method); } if (!introspectedTable.isImmutable()) { method = getJavaBeansSetter(introspectedColumn, context, introspectedTable); - if (plugins.modelSetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addMethod(method); } @@ -112,8 +106,7 @@ public List getCompilationUnits() { } List answer = new ArrayList<>(); - if (context.getPlugins().modelBaseRecordClassGenerated( - topLevelClass, introspectedTable)) { + if (context.getPlugins().modelBaseRecordClassGenerated(topLevelClass, introspectedTable)) { answer.add(topLevelClass); } return answer; @@ -122,8 +115,7 @@ public List getCompilationUnits() { private FullyQualifiedJavaType getSuperClass() { FullyQualifiedJavaType superClass; if (introspectedTable.getRules().generatePrimaryKeyClass()) { - superClass = new FullyQualifiedJavaType(introspectedTable - .getPrimaryKeyType()); + superClass = new FullyQualifiedJavaType(introspectedTable.getPrimaryKeyType()); } else { String rootClass = getRootClass(); if (rootClass != null) { @@ -137,13 +129,11 @@ private FullyQualifiedJavaType getSuperClass() { } private boolean includePrimaryKeyColumns() { - return !introspectedTable.getRules().generatePrimaryKeyClass() - && introspectedTable.hasPrimaryKeyColumns(); + return !introspectedTable.getRules().generatePrimaryKeyClass() && introspectedTable.hasPrimaryKeyColumns(); } private boolean includeBLOBColumns() { - return !introspectedTable.getRules().generateRecordWithBLOBsClass() - && introspectedTable.hasBLOBColumns(); + return !introspectedTable.getRules().generateRecordWithBLOBsClass() && introspectedTable.hasBLOBColumns(); } private void addParameterizedConstructor(TopLevelClass topLevelClass, List constructorColumns) { @@ -201,8 +191,7 @@ private List getColumnsInThisClass() { } } else { if (includeBLOBColumns()) { - introspectedColumns = introspectedTable - .getNonPrimaryKeyColumns(); + introspectedColumns = introspectedTable.getNonPrimaryKeyColumns(); } else { introspectedColumns = introspectedTable.getBaseColumns(); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java index ff8ca7eca2..f2ad157b57 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -47,12 +47,10 @@ public ExampleGenerator(String project) { @Override public List getCompilationUnits() { FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable(); - progressCallback.startTask(getString( - "Progress.6", table.toString())); //$NON-NLS-1$ + progressCallback.startTask(getString("Progress.6", table.toString())); //$NON-NLS-1$ CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getExampleType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType()); TopLevelClass topLevelClass = new TopLevelClass(type); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -74,8 +72,7 @@ public List getCompilationUnits() { method = new Method("setOrderByClause"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PUBLIC); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "orderByClause")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "orderByClause")); //$NON-NLS-1$ method.addBodyLine("this.orderByClause = orderByClause;"); //$NON-NLS-1$ commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); @@ -95,23 +92,21 @@ public List getCompilationUnits() { method = new Method("setDistinct"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PUBLIC); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getBooleanPrimitiveInstance(), "distinct")); //$NON-NLS-1$ + method.addParameter( + new Parameter(FullyQualifiedJavaType.getBooleanPrimitiveInstance(), "distinct")); //$NON-NLS-1$ method.addBodyLine("this.distinct = distinct;"); //$NON-NLS-1$ commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); method = new Method("isDistinct"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PUBLIC); - method.setReturnType(FullyQualifiedJavaType - .getBooleanPrimitiveInstance()); + method.setReturnType(FullyQualifiedJavaType.getBooleanPrimitiveInstance()); method.addBodyLine("return distinct;"); //$NON-NLS-1$ commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); // add field and methods for the list of ored criteria - FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType( - "java.util.List"); //$NON-NLS-1$ + FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType("java.util.List"); //$NON-NLS-1$ field = new Field("oredCriteria", fqjt); //$NON-NLS-1$ field.setVisibility(JavaVisibility.PROTECTED); @@ -127,8 +122,7 @@ public List getCompilationUnits() { method = new Method("or"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PUBLIC); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getCriteriaInstance(), "criteria")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getCriteriaInstance(), "criteria")); //$NON-NLS-1$ method.addBodyLine("oredCriteria.add(criteria);"); //$NON-NLS-1$ commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); @@ -170,28 +164,24 @@ public List getCompilationUnits() { topLevelClass.addMethod(method); // now generate the inner class that holds the AND conditions - topLevelClass - .addInnerClass(getGeneratedCriteriaInnerClass(topLevelClass)); + topLevelClass.addInnerClass(getGeneratedCriteriaInnerClass(topLevelClass)); topLevelClass.addInnerClass(getCriteriaInnerClass()); topLevelClass.addInnerClass(getCriterionInnerClass()); List answer = new ArrayList<>(); - if (context.getPlugins().modelExampleClassGenerated( - topLevelClass, introspectedTable)) { + if (context.getPlugins().modelExampleClassGenerated(topLevelClass, introspectedTable)) { answer.add(topLevelClass); } return answer; } private InnerClass getCriterionInnerClass() { - InnerClass answer = new InnerClass(new FullyQualifiedJavaType( - "Criterion")); //$NON-NLS-1$ + InnerClass answer = new InnerClass(new FullyQualifiedJavaType("Criterion")); //$NON-NLS-1$ answer.setVisibility(JavaVisibility.PUBLIC); answer.setStatic(true); - context.getCommentGenerator().addClassComment(answer, - introspectedTable); + context.getCommentGenerator().addClassComment(answer, introspectedTable); Field field = new Field("condition", FullyQualifiedJavaType.getStringInstance()); //$NON-NLS-1$ field.setVisibility(JavaVisibility.PRIVATE); @@ -236,8 +226,7 @@ private InnerClass getCriterionInnerClass() { Method method = new Method("Criterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ method.addBodyLine("super();"); //$NON-NLS-1$ method.addBodyLine("this.condition = condition;"); //$NON-NLS-1$ method.addBodyLine("this.typeHandler = null;"); //$NON-NLS-1$ @@ -247,12 +236,9 @@ private InnerClass getCriterionInnerClass() { method = new Method("Criterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "typeHandler")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "typeHandler")); //$NON-NLS-1$ method.addBodyLine("super();"); //$NON-NLS-1$ method.addBodyLine("this.condition = condition;"); //$NON-NLS-1$ method.addBodyLine("this.value = value;"); //$NON-NLS-1$ @@ -267,24 +253,18 @@ private InnerClass getCriterionInnerClass() { method = new Method("Criterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ method.addBodyLine("this(condition, value, null);"); //$NON-NLS-1$ answer.addMethod(method); method = new Method("Criterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "secondValue")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "typeHandler")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "secondValue")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "typeHandler")); //$NON-NLS-1$ method.addBodyLine("super();"); //$NON-NLS-1$ method.addBodyLine("this.condition = condition;"); //$NON-NLS-1$ method.addBodyLine("this.value = value;"); //$NON-NLS-1$ @@ -296,12 +276,9 @@ private InnerClass getCriterionInnerClass() { method = new Method("Criterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "secondValue")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "secondValue")); //$NON-NLS-1$ method.addBodyLine("this(condition, value, secondValue, null);"); //$NON-NLS-1$ answer.addMethod(method); @@ -309,16 +286,13 @@ private InnerClass getCriterionInnerClass() { } private InnerClass getCriteriaInnerClass() { - InnerClass answer = new InnerClass(FullyQualifiedJavaType - .getCriteriaInstance()); + InnerClass answer = new InnerClass(FullyQualifiedJavaType.getCriteriaInstance()); answer.setVisibility(JavaVisibility.PUBLIC); answer.setStatic(true); - answer.setSuperClass(FullyQualifiedJavaType - .getGeneratedCriteriaInstance()); + answer.setSuperClass(FullyQualifiedJavaType.getGeneratedCriteriaInstance()); - context.getCommentGenerator().addClassComment(answer, - introspectedTable, true); + context.getCommentGenerator().addClassComment(answer, introspectedTable, true); Method method = new Method("Criteria"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); @@ -329,18 +303,15 @@ private InnerClass getCriteriaInnerClass() { return answer; } - private InnerClass getGeneratedCriteriaInnerClass( - TopLevelClass topLevelClass) { + private InnerClass getGeneratedCriteriaInnerClass(TopLevelClass topLevelClass) { Field field; - InnerClass answer = new InnerClass(FullyQualifiedJavaType - .getGeneratedCriteriaInstance()); + InnerClass answer = new InnerClass(FullyQualifiedJavaType.getGeneratedCriteriaInstance()); answer.setVisibility(JavaVisibility.PROTECTED); answer.setStatic(true); answer.setAbstract(true); - context.getCommentGenerator().addClassComment(answer, - introspectedTable); + context.getCommentGenerator().addClassComment(answer, introspectedTable); Method method = new Method("GeneratedCriteria"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); @@ -352,12 +323,9 @@ private InnerClass getGeneratedCriteriaInnerClass( List criteriaLists = new ArrayList<>(); criteriaLists.add("criteria"); //$NON-NLS-1$ - for (IntrospectedColumn introspectedColumn : introspectedTable - .getNonBLOBColumns()) { - if (stringHasValue(introspectedColumn - .getTypeHandler())) { - String name = addtypeHandledObjectsAndMethods( - introspectedColumn, method, answer); + for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) { + if (stringHasValue(introspectedColumn.getTypeHandler())) { + String name = addTypeHandledObjectsAndMethods(introspectedColumn, method, answer); criteriaLists.add(name); } } @@ -365,8 +333,7 @@ private InnerClass getGeneratedCriteriaInnerClass( // now generate the isValid method method = new Method("isValid"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PUBLIC); - method.setReturnType(FullyQualifiedJavaType - .getBooleanPrimitiveInstance()); + method.setReturnType(FullyQualifiedJavaType.getBooleanPrimitiveInstance()); StringBuilder sb = new StringBuilder(); Iterator strIter = criteriaLists.iterator(); sb.append("return "); //$NON-NLS-1$ @@ -418,19 +385,16 @@ private InnerClass getGeneratedCriteriaInnerClass( // now we need to generate the methods that will be used in the SqlMap // to generate the dynamic where clause - topLevelClass.addImportedType(FullyQualifiedJavaType - .getNewListInstance()); - topLevelClass.addImportedType(FullyQualifiedJavaType - .getNewArrayListInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getNewListInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getNewArrayListInstance()); - FullyQualifiedJavaType listOfCriterion = new FullyQualifiedJavaType( - "java.util.List"); //$NON-NLS-1$ + FullyQualifiedJavaType listOfCriterion = + new FullyQualifiedJavaType("java.util.List"); //$NON-NLS-1$ field = new Field("criteria", listOfCriterion); //$NON-NLS-1$ field.setVisibility(JavaVisibility.PROTECTED); answer.addField(field); - method = new Method(getGetterMethodName(field.getName(), field - .getType())); + method = new Method(getGetterMethodName(field.getName(), field.getType())); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(field.getType()); method.addBodyLine("return criteria;"); //$NON-NLS-1$ @@ -439,11 +403,9 @@ private InnerClass getGeneratedCriteriaInnerClass( // now add the methods for simplifying the individual field set methods method = new Method("addCriterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ method.addBodyLine("if (condition == null) {"); //$NON-NLS-1$ - method - .addBodyLine("throw new RuntimeException(\"Value for condition cannot be null\");"); //$NON-NLS-1$ + method.addBodyLine("throw new RuntimeException(\"Value for condition cannot be null\");"); //$NON-NLS-1$ method.addBodyLine("}"); //$NON-NLS-1$ method.addBodyLine("criteria.add(new Criterion(condition));"); //$NON-NLS-1$ if (criteriaLists.size() > 1) { @@ -453,12 +415,9 @@ private InnerClass getGeneratedCriteriaInnerClass( method = new Method("addCriterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value for \" + property + \" cannot be null\");"); //$NON-NLS-1$ @@ -471,41 +430,31 @@ private InnerClass getGeneratedCriteriaInnerClass( method = new Method("addCriterion"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value1")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value2")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value1")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value2")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value1 == null || value2 == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Between values for \" + property + \" cannot be null\");"); //$NON-NLS-1$ method.addBodyLine("}"); //$NON-NLS-1$ - method - .addBodyLine("criteria.add(new Criterion(condition, value1, value2));"); //$NON-NLS-1$ + method.addBodyLine("criteria.add(new Criterion(condition, value1, value2));"); //$NON-NLS-1$ if (criteriaLists.size() > 1) { method.addBodyLine("allCriteria = null;"); //$NON-NLS-1$ } answer.addMethod(method); - FullyQualifiedJavaType listOfDates = new FullyQualifiedJavaType( - "java.util.List"); //$NON-NLS-1$ + FullyQualifiedJavaType listOfDates = + new FullyQualifiedJavaType("java.util.List"); //$NON-NLS-1$ if (introspectedTable.hasJDBCDateColumns()) { - topLevelClass.addImportedType(FullyQualifiedJavaType - .getDateInstance()); - topLevelClass.addImportedType(FullyQualifiedJavaType - .getNewIteratorInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getDateInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getNewIteratorInstance()); method = new Method("addCriterionForJDBCDate"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value for \" + property + \" cannot be null\");"); //$NON-NLS-1$ @@ -516,11 +465,9 @@ private InnerClass getGeneratedCriteriaInnerClass( method = new Method("addCriterionForJDBCDate"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ method.addParameter(new Parameter(listOfDates, "values")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (values == null || values.size() == 0) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value list for \" + property + \"" //$NON-NLS-1$ @@ -529,22 +476,17 @@ private InnerClass getGeneratedCriteriaInnerClass( method.addBodyLine("List dateList = new ArrayList<>();"); //$NON-NLS-1$ method.addBodyLine("Iterator iter = values.iterator();"); //$NON-NLS-1$ method.addBodyLine("while (iter.hasNext()) {"); //$NON-NLS-1$ - method - .addBodyLine("dateList.add(new java.sql.Date(iter.next().getTime()));"); //$NON-NLS-1$ + method.addBodyLine("dateList.add(new java.sql.Date(iter.next().getTime()));"); //$NON-NLS-1$ method.addBodyLine("}"); //$NON-NLS-1$ method.addBodyLine("addCriterion(condition, dateList, property);"); //$NON-NLS-1$ answer.addMethod(method); method = new Method("addCriterionForJDBCDate"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value1")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value2")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value1")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value2")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value1 == null || value2 == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Between values for \" + property + \"" //$NON-NLS-1$ @@ -557,18 +499,13 @@ private InnerClass getGeneratedCriteriaInnerClass( } if (introspectedTable.hasJDBCTimeColumns()) { - topLevelClass.addImportedType(FullyQualifiedJavaType - .getDateInstance()); - topLevelClass.addImportedType(FullyQualifiedJavaType - .getNewIteratorInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getDateInstance()); + topLevelClass.addImportedType(FullyQualifiedJavaType.getNewIteratorInstance()); method = new Method("addCriterionForJDBCTime"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value for \" + property + \" cannot be null\");"); //$NON-NLS-1$ @@ -579,11 +516,9 @@ private InnerClass getGeneratedCriteriaInnerClass( method = new Method("addCriterionForJDBCTime"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ method.addParameter(new Parameter(listOfDates, "values")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (values == null || values.size() == 0) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value list for \" + property + \"" //$NON-NLS-1$ @@ -592,22 +527,17 @@ private InnerClass getGeneratedCriteriaInnerClass( method.addBodyLine("List timeList = new ArrayList<>();"); //$NON-NLS-1$ method.addBodyLine("Iterator iter = values.iterator();"); //$NON-NLS-1$ method.addBodyLine("while (iter.hasNext()) {"); //$NON-NLS-1$ - method - .addBodyLine("timeList.add(new java.sql.Time(iter.next().getTime()));"); //$NON-NLS-1$ + method.addBodyLine("timeList.add(new java.sql.Time(iter.next().getTime()));"); //$NON-NLS-1$ method.addBodyLine("}"); //$NON-NLS-1$ method.addBodyLine("addCriterion(condition, timeList, property);"); //$NON-NLS-1$ answer.addMethod(method); method = new Method("addCriterionForJDBCTime"); //$NON-NLS-1$ method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value1")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getDateInstance(), "value2")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value1")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getDateInstance(), "value2")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value1 == null || value2 == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Between values for \" + property + \"" //$NON-NLS-1$ @@ -619,10 +549,8 @@ private InnerClass getGeneratedCriteriaInnerClass( answer.addMethod(method); } - for (IntrospectedColumn introspectedColumn : introspectedTable - .getNonBLOBColumns()) { - topLevelClass.addImportedType(introspectedColumn - .getFullyQualifiedJavaType()); + for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) { + topLevelClass.addImportedType(introspectedColumn.getFullyQualifiedJavaType()); // here we need to add the individual methods for setting the // conditions for a field @@ -631,8 +559,7 @@ private InnerClass getGeneratedCriteriaInnerClass( answer.addMethod(getSetEqualMethod(introspectedColumn)); answer.addMethod(getSetNotEqualMethod(introspectedColumn)); answer.addMethod(getSetGreaterThanMethod(introspectedColumn)); - answer - .addMethod(getSetGreaterThenOrEqualMethod(introspectedColumn)); + answer.addMethod(getSetGreaterThenOrEqualMethod(introspectedColumn)); answer.addMethod(getSetLessThanMethod(introspectedColumn)); answer.addMethod(getSetLessThanOrEqualMethod(introspectedColumn)); @@ -643,10 +570,8 @@ private InnerClass getGeneratedCriteriaInnerClass( answer.addMethod(getSetInOrNotInMethod(introspectedColumn, true)); answer.addMethod(getSetInOrNotInMethod(introspectedColumn, false)); - answer.addMethod(getSetBetweenOrNotBetweenMethod( - introspectedColumn, true)); - answer.addMethod(getSetBetweenOrNotBetweenMethod( - introspectedColumn, false)); + answer.addMethod(getSetBetweenOrNotBetweenMethod(introspectedColumn, true)); + answer.addMethod(getSetBetweenOrNotBetweenMethod(introspectedColumn, false)); } return answer; @@ -672,20 +597,16 @@ private Method getSetGreaterThanMethod(IntrospectedColumn introspectedColumn) { return getSingleValueMethod(introspectedColumn, "GreaterThan", ">"); //$NON-NLS-1$ //$NON-NLS-2$ } - private Method getSetGreaterThenOrEqualMethod( - IntrospectedColumn introspectedColumn) { - return getSingleValueMethod(introspectedColumn, - "GreaterThanOrEqualTo", ">="); //$NON-NLS-1$ //$NON-NLS-2$ + private Method getSetGreaterThenOrEqualMethod(IntrospectedColumn introspectedColumn) { + return getSingleValueMethod(introspectedColumn,"GreaterThanOrEqualTo", ">="); //$NON-NLS-1$ //$NON-NLS-2$ } private Method getSetLessThanMethod(IntrospectedColumn introspectedColumn) { return getSingleValueMethod(introspectedColumn, "LessThan", "<"); //$NON-NLS-1$ //$NON-NLS-2$ } - private Method getSetLessThanOrEqualMethod( - IntrospectedColumn introspectedColumn) { - return getSingleValueMethod(introspectedColumn, - "LessThanOrEqualTo", "<="); //$NON-NLS-1$ //$NON-NLS-2$ + private Method getSetLessThanOrEqualMethod(IntrospectedColumn introspectedColumn) { + return getSingleValueMethod(introspectedColumn,"LessThanOrEqualTo", "<="); //$NON-NLS-1$ //$NON-NLS-2$ } private Method getSetLikeMethod(IntrospectedColumn introspectedColumn) { @@ -696,8 +617,7 @@ private Method getSetNotLikeMethod(IntrospectedColumn introspectedColumn) { return getSingleValueMethod(introspectedColumn, "NotLike", "not like"); //$NON-NLS-1$ //$NON-NLS-2$ } - private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, - String nameFragment, String operator) { + private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, String nameFragment, String operator) { StringBuilder sb = new StringBuilder(); sb.append(introspectedColumn.getJavaProperty()); @@ -707,8 +627,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, Method method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PUBLIC); - method.addParameter(new Parameter(introspectedColumn - .getFullyQualifiedJavaType(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), "value")); //$NON-NLS-1$ method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance()); sb.setLength(0); @@ -716,8 +635,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ } else if (introspectedColumn.isJDBCTimeColumn()) { sb.append("addCriterionForJDBCTime(\""); //$NON-NLS-1$ - } else if (stringHasValue(introspectedColumn - .getTypeHandler())) { + } else if (stringHasValue(introspectedColumn.getTypeHandler())) { sb.append("add"); //$NON-NLS-1$ sb.append(introspectedColumn.getJavaProperty()); sb.setCharAt(3, Character.toUpperCase(sb.charAt(3))); @@ -726,8 +644,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, sb.append("addCriterion(\""); //$NON-NLS-1$ } - sb.append(MyBatis3FormattingUtilities - .getAliasedActualColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); sb.append(' '); sb.append(operator); sb.append("\", "); //$NON-NLS-1$ @@ -748,8 +665,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, * @param betweenMethod true if between, else not between * @return a generated method for the between or not between method */ - private Method getSetBetweenOrNotBetweenMethod( - IntrospectedColumn introspectedColumn, boolean betweenMethod) { + private Method getSetBetweenOrNotBetweenMethod(IntrospectedColumn introspectedColumn, boolean betweenMethod) { StringBuilder sb = new StringBuilder(); sb.append(introspectedColumn.getJavaProperty()); @@ -762,8 +678,7 @@ private Method getSetBetweenOrNotBetweenMethod( } Method method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PUBLIC); - FullyQualifiedJavaType type = introspectedColumn - .getFullyQualifiedJavaType(); + FullyQualifiedJavaType type = introspectedColumn.getFullyQualifiedJavaType(); method.addParameter(new Parameter(type, "value1")); //$NON-NLS-1$ method.addParameter(new Parameter(type, "value2")); //$NON-NLS-1$ @@ -774,8 +689,7 @@ private Method getSetBetweenOrNotBetweenMethod( sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ } else if (introspectedColumn.isJDBCTimeColumn()) { sb.append("addCriterionForJDBCTime(\""); //$NON-NLS-1$ - } else if (stringHasValue(introspectedColumn - .getTypeHandler())) { + } else if (stringHasValue(introspectedColumn.getTypeHandler())) { sb.append("add"); //$NON-NLS-1$ sb.append(introspectedColumn.getJavaProperty()); sb.setCharAt(3, Character.toUpperCase(sb.charAt(3))); @@ -784,8 +698,7 @@ private Method getSetBetweenOrNotBetweenMethod( sb.append("addCriterion(\""); //$NON-NLS-1$ } - sb.append(MyBatis3FormattingUtilities - .getAliasedActualColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); if (betweenMethod) { sb.append(" between"); //$NON-NLS-1$ } else { @@ -811,8 +724,7 @@ private Method getSetBetweenOrNotBetweenMethod( * method * @return a generated method for the in or not in method */ - private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, - boolean inMethod) { + private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, boolean inMethod) { StringBuilder sb = new StringBuilder(); sb.append(introspectedColumn.getJavaProperty()); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); @@ -824,15 +736,11 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, } Method method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PUBLIC); - FullyQualifiedJavaType type = FullyQualifiedJavaType - .getNewListInstance(); + FullyQualifiedJavaType type = FullyQualifiedJavaType.getNewListInstance(); if (introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) { - type.addTypeArgument(introspectedColumn.getFullyQualifiedJavaType() - .getPrimitiveTypeWrapper()); + type.addTypeArgument(introspectedColumn.getFullyQualifiedJavaType().getPrimitiveTypeWrapper()); } else { - type - .addTypeArgument(introspectedColumn - .getFullyQualifiedJavaType()); + type.addTypeArgument(introspectedColumn.getFullyQualifiedJavaType()); } method.addParameter(new Parameter(type, "values")); //$NON-NLS-1$ @@ -843,8 +751,7 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ } else if (introspectedColumn.isJDBCTimeColumn()) { sb.append("addCriterionForJDBCTime(\""); //$NON-NLS-1$ - } else if (stringHasValue(introspectedColumn - .getTypeHandler())) { + } else if (stringHasValue(introspectedColumn.getTypeHandler())) { sb.append("add"); //$NON-NLS-1$ sb.append(introspectedColumn.getJavaProperty()); sb.setCharAt(3, Character.toUpperCase(sb.charAt(3))); @@ -853,8 +760,7 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, sb.append("addCriterion(\""); //$NON-NLS-1$ } - sb.append(MyBatis3FormattingUtilities - .getAliasedActualColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); if (inMethod) { sb.append(" in"); //$NON-NLS-1$ } else { @@ -869,8 +775,7 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, return method; } - private Method getNoValueMethod(IntrospectedColumn introspectedColumn, - String nameFragment, String operator) { + private Method getNoValueMethod(IntrospectedColumn introspectedColumn, String nameFragment, String operator) { StringBuilder sb = new StringBuilder(); sb.append(introspectedColumn.getJavaProperty()); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); @@ -883,8 +788,7 @@ private Method getNoValueMethod(IntrospectedColumn introspectedColumn, sb.setLength(0); sb.append("addCriterion(\""); //$NON-NLS-1$ - sb.append(MyBatis3FormattingUtilities - .getAliasedActualColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); sb.append(' '); sb.append(operator); sb.append("\");"); //$NON-NLS-1$ @@ -903,9 +807,8 @@ private Method getNoValueMethod(IntrospectedColumn introspectedColumn, * @param innerClass the enclosing class * @return the name of the List added to the class by this method */ - private String addtypeHandledObjectsAndMethods( - IntrospectedColumn introspectedColumn, Method constructor, - InnerClass innerClass) { + private String addTypeHandledObjectsAndMethods(IntrospectedColumn introspectedColumn, Method constructor, + InnerClass innerClass) { StringBuilder sb = new StringBuilder(); // add new private field and public accessor in the class @@ -918,8 +821,7 @@ private String addtypeHandledObjectsAndMethods( field.setVisibility(JavaVisibility.PROTECTED); innerClass.addField(field); - Method method = new Method(getGetterMethodName(field.getName(), field - .getType())); + Method method = new Method(getGetterMethodName(field.getName(), field.getType())); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(field.getType()); sb.insert(0, "return "); //$NON-NLS-1$ @@ -941,12 +843,9 @@ private String addtypeHandledObjectsAndMethods( sb.append("Criterion"); //$NON-NLS-1$ method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getObjectInstance(), "value")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ method.addBodyLine("if (value == null) {"); //$NON-NLS-1$ method.addBodyLine( "throw new RuntimeException(\"Value for \" + property + \" cannot be null\");"); //$NON-NLS-1$ @@ -966,14 +865,10 @@ private String addtypeHandledObjectsAndMethods( method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PROTECTED); - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(introspectedColumn - .getFullyQualifiedJavaType(), "value1")); //$NON-NLS-1$ - method.addParameter(new Parameter(introspectedColumn - .getFullyQualifiedJavaType(), "value2")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType - .getStringInstance(), "property")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), "value1")); //$NON-NLS-1$ + method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), "value2")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "property")); //$NON-NLS-1$ if (!introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) { method.addBodyLine("if (value1 == null || value2 == null) {"); //$NON-NLS-1$ method.addBodyLine( diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/PrimaryKeyGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/PrimaryKeyGenerator.java index 1f18b1ef50..1de5d78dc6 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/PrimaryKeyGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/PrimaryKeyGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,13 +46,11 @@ public PrimaryKeyGenerator(String project) { @Override public List getCompilationUnits() { FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable(); - progressCallback.startTask(getString( - "Progress.7", table.toString())); //$NON-NLS-1$ + progressCallback.startTask(getString("Progress.7", table.toString())); //$NON-NLS-1$ Plugin plugins = context.getPlugins(); CommentGenerator commentGenerator = context.getCommentGenerator(); - TopLevelClass topLevelClass = new TopLevelClass(introspectedTable - .getPrimaryKeyType()); + TopLevelClass topLevelClass = new TopLevelClass(introspectedTable.getPrimaryKeyType()); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -73,32 +71,27 @@ public List getCompilationUnits() { commentGenerator.addModelClassComment(topLevelClass, introspectedTable); - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { - if (RootClassInfo.getInstance(rootClass, warnings) - .containsProperty(introspectedColumn)) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getPrimaryKeyColumns()) { + if (RootClassInfo.getInstance(rootClass, warnings).containsProperty(introspectedColumn)) { continue; } Field field = getJavaBeansField(introspectedColumn, context, introspectedTable); - if (plugins.modelFieldGenerated(field, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.PRIMARY_KEY)) { topLevelClass.addField(field); topLevelClass.addImportedType(field.getType()); } Method method = getJavaBeansGetter(introspectedColumn, context, introspectedTable); - if (plugins.modelGetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.PRIMARY_KEY)) { topLevelClass.addMethod(method); } if (!introspectedTable.isImmutable()) { method = getJavaBeansSetter(introspectedColumn, context, introspectedTable); - if (plugins.modelSetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.PRIMARY_KEY)) { topLevelClass.addMethod(method); } @@ -106,10 +99,10 @@ public List getCompilationUnits() { } List answer = new ArrayList<>(); - if (context.getPlugins().modelPrimaryKeyClassGenerated( - topLevelClass, introspectedTable)) { + if (context.getPlugins().modelPrimaryKeyClassGenerated(topLevelClass, introspectedTable)) { answer.add(topLevelClass); } + return answer; } @@ -120,8 +113,7 @@ private void addParameterizedConstructor(TopLevelClass topLevelClass) { context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); StringBuilder sb = new StringBuilder(); - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getPrimaryKeyColumns()) { method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), introspectedColumn.getJavaProperty())); sb.setLength(0); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/RecordWithBLOBsGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/RecordWithBLOBsGenerator.java index 0298d14518..1963ce10cc 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/RecordWithBLOBsGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/RecordWithBLOBsGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,13 +45,11 @@ public RecordWithBLOBsGenerator(String project) { @Override public List getCompilationUnits() { FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable(); - progressCallback.startTask(getString( - "Progress.9", table.toString())); //$NON-NLS-1$ + progressCallback.startTask(getString("Progress.9", table.toString())); //$NON-NLS-1$ Plugin plugins = context.getPlugins(); CommentGenerator commentGenerator = context.getCommentGenerator(); - TopLevelClass topLevelClass = new TopLevelClass(introspectedTable - .getRecordWithBLOBsType()); + TopLevelClass topLevelClass = new TopLevelClass(introspectedTable.getRecordWithBLOBsType()); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -71,32 +69,27 @@ public List getCompilationUnits() { } } - for (IntrospectedColumn introspectedColumn : introspectedTable - .getBLOBColumns()) { - if (RootClassInfo.getInstance(rootClass, warnings) - .containsProperty(introspectedColumn)) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getBLOBColumns()) { + if (RootClassInfo.getInstance(rootClass, warnings).containsProperty(introspectedColumn)) { continue; } Field field = getJavaBeansField(introspectedColumn, context, introspectedTable); - if (plugins.modelFieldGenerated(field, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.RECORD_WITH_BLOBS)) { topLevelClass.addField(field); topLevelClass.addImportedType(field.getType()); } Method method = getJavaBeansGetter(introspectedColumn, context, introspectedTable); - if (plugins.modelGetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.RECORD_WITH_BLOBS)) { topLevelClass.addMethod(method); } if (!introspectedTable.isImmutable()) { method = getJavaBeansSetter(introspectedColumn, context, introspectedTable); - if (plugins.modelSetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.RECORD_WITH_BLOBS)) { topLevelClass.addMethod(method); } @@ -104,8 +97,7 @@ public List getCompilationUnits() { } List answer = new ArrayList<>(); - if (context.getPlugins().modelRecordWithBLOBsClassGenerated( - topLevelClass, introspectedTable)) { + if (context.getPlugins().modelRecordWithBLOBsClassGenerated(topLevelClass, introspectedTable)) { answer.add(topLevelClass); } return answer; @@ -117,8 +109,7 @@ private void addParameterizedConstructor(TopLevelClass topLevelClass) { method.setConstructor(true); context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); - for (IntrospectedColumn introspectedColumn : introspectedTable - .getAllColumns()) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) { method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), introspectedColumn.getJavaProperty())); topLevelClass.addImportedType(introspectedColumn.getFullyQualifiedJavaType()); @@ -127,8 +118,7 @@ private void addParameterizedConstructor(TopLevelClass topLevelClass) { boolean comma = false; StringBuilder sb = new StringBuilder(); sb.append("super("); //$NON-NLS-1$ - for (IntrospectedColumn introspectedColumn : introspectedTable - .getNonBLOBColumns()) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) { if (comma) { sb.append(", "); //$NON-NLS-1$ } else { @@ -139,8 +129,7 @@ private void addParameterizedConstructor(TopLevelClass topLevelClass) { sb.append(");"); //$NON-NLS-1$ method.addBodyLine(sb.toString()); - for (IntrospectedColumn introspectedColumn : introspectedTable - .getBLOBColumns()) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getBLOBColumns()) { sb.setLength(0); sb.append("this."); //$NON-NLS-1$ sb.append(introspectedColumn.getJavaProperty()); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/SimpleModelGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/SimpleModelGenerator.java index 55cb0b02f2..f304f03ad7 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/SimpleModelGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/SimpleModelGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,8 +50,7 @@ public List getCompilationUnits() { Plugin plugins = context.getPlugins(); CommentGenerator commentGenerator = context.getCommentGenerator(); - FullyQualifiedJavaType type = new FullyQualifiedJavaType( - introspectedTable.getBaseRecordType()); + FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); TopLevelClass topLevelClass = new TopLevelClass(type); topLevelClass.setVisibility(JavaVisibility.PUBLIC); commentGenerator.addJavaFileComment(topLevelClass); @@ -76,30 +75,26 @@ public List getCompilationUnits() { String rootClass = getRootClass(); for (IntrospectedColumn introspectedColumn : introspectedColumns) { - if (RootClassInfo.getInstance(rootClass, warnings) - .containsProperty(introspectedColumn)) { + if (RootClassInfo.getInstance(rootClass, warnings).containsProperty(introspectedColumn)) { continue; } Field field = getJavaBeansField(introspectedColumn, context, introspectedTable); - if (plugins.modelFieldGenerated(field, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addField(field); topLevelClass.addImportedType(field.getType()); } Method method = getJavaBeansGetter(introspectedColumn, context, introspectedTable); - if (plugins.modelGetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addMethod(method); } if (!introspectedTable.isImmutable()) { method = getJavaBeansSetter(introspectedColumn, context, introspectedTable); - if (plugins.modelSetterMethodGenerated(method, topLevelClass, - introspectedColumn, introspectedTable, + if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) { topLevelClass.addMethod(method); } @@ -107,8 +102,7 @@ public List getCompilationUnits() { } List answer = new ArrayList<>(); - if (context.getPlugins().modelBaseRecordClassGenerated(topLevelClass, - introspectedTable)) { + if (context.getPlugins().modelBaseRecordClassGenerated(topLevelClass, introspectedTable)) { answer.add(topLevelClass); } return answer; @@ -130,16 +124,13 @@ private void addParameterizedConstructor(TopLevelClass topLevelClass) { Method method = new Method(topLevelClass.getType().getShortName()); method.setVisibility(JavaVisibility.PUBLIC); method.setConstructor(true); - context.getCommentGenerator().addGeneralMethodComment(method, - introspectedTable); + context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); - List constructorColumns = introspectedTable - .getAllColumns(); + List constructorColumns = introspectedTable.getAllColumns(); for (IntrospectedColumn introspectedColumn : constructorColumns) { - method.addParameter(new Parameter(introspectedColumn - .getFullyQualifiedJavaType(), introspectedColumn - .getJavaProperty())); + method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), + introspectedColumn.getJavaProperty())); } StringBuilder sb = new StringBuilder(); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/SimpleXMLMapperGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/SimpleXMLMapperGenerator.java index 4c6fb81383..1b88cf2aa2 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/SimpleXMLMapperGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/SimpleXMLMapperGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,8 +42,7 @@ protected XmlElement getSqlMapElement() { progressCallback.startTask(getString("Progress.12", table.toString())); //$NON-NLS-1$ XmlElement answer = new XmlElement("mapper"); //$NON-NLS-1$ String namespace = introspectedTable.getMyBatis3SqlMapNamespace(); - answer.addAttribute(new Attribute("namespace", //$NON-NLS-1$ - namespace)); + answer.addAttribute(new Attribute("namespace", namespace)); //$NON-NLS-1$ context.getCommentGenerator().addRootComment(answer); @@ -59,8 +58,7 @@ protected XmlElement getSqlMapElement() { protected void addResultMapElement(XmlElement parentElement) { if (introspectedTable.getRules().generateBaseResultMap()) { - AbstractXmlElementGenerator elementGenerator = new ResultMapWithoutBLOBsElementGenerator( - true); + AbstractXmlElementGenerator elementGenerator = new ResultMapWithoutBLOBsElementGenerator(true); initializeAndExecuteGenerator(elementGenerator, parentElement); } } @@ -93,15 +91,13 @@ protected void addInsertElement(XmlElement parentElement) { protected void addUpdateByPrimaryKeyElement(XmlElement parentElement) { if (introspectedTable.getRules().generateUpdateByPrimaryKeySelective()) { - AbstractXmlElementGenerator elementGenerator = new UpdateByPrimaryKeyWithoutBLOBsElementGenerator( - true); + AbstractXmlElementGenerator elementGenerator = new UpdateByPrimaryKeyWithoutBLOBsElementGenerator(true); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void initializeAndExecuteGenerator( - AbstractXmlElementGenerator elementGenerator, - XmlElement parentElement) { + protected void initializeAndExecuteGenerator(AbstractXmlElementGenerator elementGenerator, + XmlElement parentElement) { elementGenerator.setContext(context); elementGenerator.setIntrospectedTable(introspectedTable); elementGenerator.setProgressCallback(progressCallback); @@ -111,13 +107,11 @@ protected void initializeAndExecuteGenerator( @Override public Document getDocument() { - Document document = new Document( - XmlConstants.MYBATIS3_MAPPER_PUBLIC_ID, + Document document = new Document(XmlConstants.MYBATIS3_MAPPER_PUBLIC_ID, XmlConstants.MYBATIS3_MAPPER_SYSTEM_ID); document.setRootElement(getSqlMapElement()); - if (!context.getPlugins().sqlMapDocumentGenerated(document, - introspectedTable)) { + if (!context.getPlugins().sqlMapDocumentGenerated(document, introspectedTable)) { document = null; } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/XMLMapperGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/XMLMapperGenerator.java index 4b6cda75bb..03f688636a 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/XMLMapperGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/XMLMapperGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2020 the original author or authors. + * Copyright 2006-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,12 +52,10 @@ public XMLMapperGenerator() { protected XmlElement getSqlMapElement() { FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable(); - progressCallback.startTask(getString( - "Progress.12", table.toString())); //$NON-NLS-1$ + progressCallback.startTask(getString("Progress.12", table.toString())); //$NON-NLS-1$ XmlElement answer = new XmlElement("mapper"); //$NON-NLS-1$ String namespace = introspectedTable.getMyBatis3SqlMapNamespace(); - answer.addAttribute(new Attribute("namespace", //$NON-NLS-1$ - namespace)); + answer.addAttribute(new Attribute("namespace", namespace)); //$NON-NLS-1$ context.getCommentGenerator().addRootComment(answer); @@ -101,18 +99,14 @@ protected void addResultMapWithBLOBsElement(XmlElement parentElement) { protected void addExampleWhereClauseElement(XmlElement parentElement) { if (introspectedTable.getRules().generateSQLExampleWhereClause()) { - AbstractXmlElementGenerator elementGenerator = new ExampleWhereClauseElementGenerator( - false); + AbstractXmlElementGenerator elementGenerator = new ExampleWhereClauseElementGenerator(false); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void addMyBatis3UpdateByExampleWhereClauseElement( - XmlElement parentElement) { - if (introspectedTable.getRules() - .generateMyBatis3UpdateByExampleWhereClause()) { - AbstractXmlElementGenerator elementGenerator = new ExampleWhereClauseElementGenerator( - true); + protected void addMyBatis3UpdateByExampleWhereClauseElement(XmlElement parentElement) { + if (introspectedTable.getRules().generateMyBatis3UpdateByExampleWhereClause()) { + AbstractXmlElementGenerator elementGenerator = new ExampleWhereClauseElementGenerator(true); initializeAndExecuteGenerator(elementGenerator, parentElement); } } @@ -131,8 +125,7 @@ protected void addBlobColumnListElement(XmlElement parentElement) { } } - protected void addSelectByExampleWithoutBLOBsElement( - XmlElement parentElement) { + protected void addSelectByExampleWithoutBLOBsElement(XmlElement parentElement) { if (introspectedTable.getRules().generateSelectByExampleWithoutBLOBs()) { AbstractXmlElementGenerator elementGenerator = new SelectByExampleWithoutBLOBsElementGenerator(); initializeAndExecuteGenerator(elementGenerator, parentElement); @@ -202,42 +195,36 @@ protected void addUpdateByExampleWithBLOBsElement(XmlElement parentElement) { } } - protected void addUpdateByExampleWithoutBLOBsElement( - XmlElement parentElement) { + protected void addUpdateByExampleWithoutBLOBsElement(XmlElement parentElement) { if (introspectedTable.getRules().generateUpdateByExampleWithoutBLOBs()) { AbstractXmlElementGenerator elementGenerator = new UpdateByExampleWithoutBLOBsElementGenerator(); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void addUpdateByPrimaryKeySelectiveElement( - XmlElement parentElement) { + protected void addUpdateByPrimaryKeySelectiveElement(XmlElement parentElement) { if (introspectedTable.getRules().generateUpdateByPrimaryKeySelective()) { AbstractXmlElementGenerator elementGenerator = new UpdateByPrimaryKeySelectiveElementGenerator(); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void addUpdateByPrimaryKeyWithBLOBsElement( - XmlElement parentElement) { + protected void addUpdateByPrimaryKeyWithBLOBsElement(XmlElement parentElement) { if (introspectedTable.getRules().generateUpdateByPrimaryKeyWithBLOBs()) { AbstractXmlElementGenerator elementGenerator = new UpdateByPrimaryKeyWithBLOBsElementGenerator(); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void addUpdateByPrimaryKeyWithoutBLOBsElement( - XmlElement parentElement) { - if (introspectedTable.getRules() - .generateUpdateByPrimaryKeyWithoutBLOBs()) { + protected void addUpdateByPrimaryKeyWithoutBLOBsElement(XmlElement parentElement) { + if (introspectedTable.getRules().generateUpdateByPrimaryKeyWithoutBLOBs()) { AbstractXmlElementGenerator elementGenerator = new UpdateByPrimaryKeyWithoutBLOBsElementGenerator(false); initializeAndExecuteGenerator(elementGenerator, parentElement); } } - protected void initializeAndExecuteGenerator( - AbstractXmlElementGenerator elementGenerator, - XmlElement parentElement) { + protected void initializeAndExecuteGenerator(AbstractXmlElementGenerator elementGenerator, + XmlElement parentElement) { elementGenerator.setContext(context); elementGenerator.setIntrospectedTable(introspectedTable); elementGenerator.setProgressCallback(progressCallback); @@ -247,13 +234,11 @@ protected void initializeAndExecuteGenerator( @Override public Document getDocument() { - Document document = new Document( - XmlConstants.MYBATIS3_MAPPER_PUBLIC_ID, + Document document = new Document(XmlConstants.MYBATIS3_MAPPER_PUBLIC_ID, XmlConstants.MYBATIS3_MAPPER_SYSTEM_ID); document.setRootElement(getSqlMapElement()); - if (!context.getPlugins().sqlMapDocumentGenerated(document, - introspectedTable)) { + if (!context.getPlugins().sqlMapDocumentGenerated(document, introspectedTable)) { document = null; } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java index 3ab7f9e550..6f496f32d1 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/AbstractXmlElementGenerator.java @@ -51,33 +51,28 @@ protected AbstractXmlElementGenerator() { */ protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn, GeneratedKey generatedKey) { - String identityColumnType = introspectedColumn - .getFullyQualifiedJavaType().getFullyQualifiedName(); + String identityColumnType = introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName(); XmlElement answer = new XmlElement("selectKey"); //$NON-NLS-1$ answer.addAttribute(new Attribute("resultType", identityColumnType)); //$NON-NLS-1$ answer.addAttribute(new Attribute( "keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - answer.addAttribute(new Attribute("order", //$NON-NLS-1$ - generatedKey.getMyBatis3Order())); + answer.addAttribute(new Attribute("order", generatedKey.getMyBatis3Order())); //$NON-NLS-1$ - answer.addElement(new TextElement(generatedKey - .getRuntimeSqlStatement())); + answer.addElement(new TextElement(generatedKey.getRuntimeSqlStatement())); return answer; } protected XmlElement getBaseColumnListElement() { XmlElement answer = new XmlElement("include"); //$NON-NLS-1$ - answer.addAttribute(new Attribute("refid", //$NON-NLS-1$ - introspectedTable.getBaseColumnListId())); + answer.addAttribute(new Attribute("refid", introspectedTable.getBaseColumnListId())); //$NON-NLS-1$ return answer; } protected XmlElement getBlobColumnListElement() { XmlElement answer = new XmlElement("include"); //$NON-NLS-1$ - answer.addAttribute(new Attribute("refid", //$NON-NLS-1$ - introspectedTable.getBlobColumnListId())); + answer.addAttribute(new Attribute("refid", introspectedTable.getBlobColumnListId())); //$NON-NLS-1$ return answer; } @@ -86,8 +81,7 @@ protected XmlElement getExampleIncludeElement() { ifElement.addAttribute(new Attribute("test", "_parameter != null")); //$NON-NLS-1$ //$NON-NLS-2$ XmlElement includeElement = new XmlElement("include"); //$NON-NLS-1$ - includeElement.addAttribute(new Attribute("refid", //$NON-NLS-1$ - introspectedTable.getExampleWhereClauseId())); + includeElement.addAttribute(new Attribute("refid", introspectedTable.getExampleWhereClauseId())); //$NON-NLS-1$ ifElement.addElement(includeElement); return ifElement; @@ -114,8 +108,7 @@ protected List buildSelectList(String initial, List iter = columns.iterator(); while (iter.hasNext()) { - sb.append(MyBatis3FormattingUtilities.getSelectListPhrase(iter - .next())); + sb.append(MyBatis3FormattingUtilities.getSelectListPhrase(iter.next())); if (iter.hasNext()) { sb.append(", "); //$NON-NLS-1$ @@ -160,25 +153,25 @@ protected XmlElement buildInitialInsert(String statementId, FullyQualifiedJavaTy answer.addAttribute(new Attribute("id", statementId)); //$NON-NLS-1$ - answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$ - parameterType.getFullyQualifiedName())); + answer.addAttribute(new Attribute("parameterType", parameterType.getFullyQualifiedName())); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); introspectedTable.getGeneratedKey().ifPresent(gk -> introspectedTable.getColumn(gk.getColumn()).ifPresent(introspectedColumn -> { - // if the column is null, then it's a configuration error. The - // warning has already been reported - if (gk.isJdbcStandard()) { - answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ - answer.addAttribute( - new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - answer.addAttribute( - new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ - } else { - answer.addElement(getSelectKey(introspectedColumn, gk)); - } - })); + // if the column is null, then it's a configuration error. The + // warning has already been reported + if (gk.isJdbcStandard()) { + answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$ + answer.addAttribute( + new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ + answer.addAttribute( + new Attribute("keyColumn", introspectedColumn.getActualColumnName())); //$NON-NLS-1$ + } else { + answer.addElement(getSelectKey(introspectedColumn, gk)); + } + }) + ); return answer; } @@ -200,14 +193,12 @@ protected List buildResultMapItems(ResultElementType elementType, Li XmlElement resultElement = new XmlElement(elementType.value); resultElement.addAttribute(buildColumnAttribute(introspectedColumn)); - resultElement.addAttribute(new Attribute( - "property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ - resultElement.addAttribute(new Attribute("jdbcType", //$NON-NLS-1$ - introspectedColumn.getJdbcTypeName())); + resultElement.addAttribute(new Attribute("property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$ + resultElement.addAttribute(new Attribute("jdbcType", introspectedColumn.getJdbcTypeName())); //$NON-NLS-1$ if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ + resultElement.addAttribute( + new Attribute("typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ } answer.add(resultElement); @@ -219,8 +210,7 @@ protected List buildResultMapItems(ResultElementType elementType, Li protected XmlElement buildConstructorElement(boolean includeBlobColumns) { XmlElement constructor = new XmlElement("constructor"); //$NON-NLS-1$ - for (IntrospectedColumn introspectedColumn : introspectedTable - .getPrimaryKeyColumns()) { + for (IntrospectedColumn introspectedColumn : introspectedTable.getPrimaryKeyColumns()) { XmlElement resultElement = new XmlElement("idArg"); //$NON-NLS-1$ resultElement.addAttribute(buildColumnAttribute(introspectedColumn)); @@ -230,8 +220,8 @@ protected XmlElement buildConstructorElement(boolean includeBlobColumns) { introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName())); if (stringHasValue(introspectedColumn.getTypeHandler())) { - resultElement.addAttribute(new Attribute( - "typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ + resultElement.addAttribute( + new Attribute("typeHandler", introspectedColumn.getTypeHandler())); //$NON-NLS-1$ } constructor.addElement(resultElement); @@ -302,11 +292,9 @@ protected XmlElement buildUpdateByExampleElement(String statementId, List 1) { parameterClass = "map"; //$NON-NLS-1$ } else { - parameterClass = introspectedTable.getPrimaryKeyColumns() - .get(0).getFullyQualifiedJavaType().toString(); + parameterClass = + introspectedTable.getPrimaryKeyColumns().get(0).getFullyQualifiedJavaType().toString(); } } answer.addAttribute(new Attribute("parameterType", parameterClass)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); - String sb = "delete from " //$NON-NLS-1$ - + introspectedTable.getFullyQualifiedTableNameAtRuntime(); + String sb = "delete from " + introspectedTable.getFullyQualifiedTableNameAtRuntime(); //$NON-NLS-1$ answer.addElement(new TextElement(sb)); buildPrimaryKeyWhereClause().forEach(answer::addElement); - if (context.getPlugins() - .sqlMapDeleteByPrimaryKeyElementGenerated(answer,introspectedTable)) { + if (context.getPlugins().sqlMapDeleteByPrimaryKeyElementGenerated(answer,introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java index d53644e735..12563d820f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ExampleWhereClauseElementGenerator.java @@ -22,8 +22,7 @@ import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -public class ExampleWhereClauseElementGenerator extends - AbstractXmlElementGenerator { +public class ExampleWhereClauseElementGenerator extends AbstractXmlElementGenerator { private final boolean isForUpdateByExample; @@ -85,8 +84,7 @@ public void addElements(XmlElement parentElement) { } } - private XmlElement getMiddleForEachElement( - IntrospectedColumn introspectedColumn) { + private XmlElement getMiddleForEachElement(IntrospectedColumn introspectedColumn) { StringBuilder sb = new StringBuilder(); String criteriaAttribute; boolean typeHandled; @@ -153,8 +151,7 @@ private XmlElement getMiddleForEachElement( when.addAttribute(new Attribute("test", "criterion.listValue")); //$NON-NLS-1$ //$NON-NLS-2$ when.addElement(new TextElement("and ${criterion.condition}")); //$NON-NLS-1$ XmlElement innerForEach = new XmlElement("foreach"); //$NON-NLS-1$ - innerForEach - .addAttribute(new Attribute("collection", "criterion.value")); //$NON-NLS-1$ //$NON-NLS-2$ + innerForEach.addAttribute(new Attribute("collection", "criterion.value")); //$NON-NLS-1$ //$NON-NLS-2$ innerForEach.addAttribute(new Attribute("item", "listItem")); //$NON-NLS-1$ //$NON-NLS-2$ innerForEach.addAttribute(new Attribute("open", "(")); //$NON-NLS-1$ //$NON-NLS-2$ innerForEach.addAttribute(new Attribute("close", ")")); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java index 4b922c39c7..7b37032ad5 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertElementGenerator.java @@ -49,8 +49,7 @@ public void addElements(XmlElement parentElement) { StringBuilder insertClause = new StringBuilder(); insertClause.append("insert into "); //$NON-NLS-1$ - insertClause.append(introspectedTable - .getFullyQualifiedTableNameAtRuntime()); + insertClause.append(introspectedTable.getFullyQualifiedTableNameAtRuntime()); insertClause.append(" ("); //$NON-NLS-1$ StringBuilder valuesClause = new StringBuilder(); @@ -62,10 +61,8 @@ public void addElements(XmlElement parentElement) { for (int i = 0; i < columns.size(); i++) { IntrospectedColumn introspectedColumn = columns.get(i); - insertClause.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); - valuesClause.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); + insertClause.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn)); + valuesClause.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn)); if (i + 1 < columns.size()) { insertClause.append(", "); //$NON-NLS-1$ valuesClause.append(", "); //$NON-NLS-1$ diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java index bdcc70525f..ce4cdbac0d 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/InsertSelectiveElementGenerator.java @@ -22,8 +22,7 @@ import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; -public class InsertSelectiveElementGenerator extends - AbstractXmlElementGenerator { +public class InsertSelectiveElementGenerator extends AbstractXmlElementGenerator { public InsertSelectiveElementGenerator() { super(); @@ -63,14 +62,12 @@ public void addElements(XmlElement parentElement) { // if it is primitive, we cannot do a null check sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn)); sb.append(','); insertTrimElement.addElement(new TextElement(sb.toString())); sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn)); sb.append(','); valuesTrimElement.addElement(new TextElement(sb.toString())); @@ -85,8 +82,7 @@ public void addElements(XmlElement parentElement) { "test", sb.toString())); //$NON-NLS-1$ sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getEscapedColumnName(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn)); sb.append(','); insertNotNullElement.addElement(new TextElement(sb.toString())); insertTrimElement.addElement(insertNotNullElement); @@ -95,12 +91,10 @@ public void addElements(XmlElement parentElement) { sb.append(introspectedColumn.getJavaProperty()); sb.append(" != null"); //$NON-NLS-1$ XmlElement valuesNotNullElement = new XmlElement("if"); //$NON-NLS-1$ - valuesNotNullElement.addAttribute(new Attribute( - "test", sb.toString())); //$NON-NLS-1$ + valuesNotNullElement.addAttribute(new Attribute("test", sb.toString())); //$NON-NLS-1$ sb.setLength(0); - sb.append(MyBatis3FormattingUtilities - .getParameterClause(introspectedColumn)); + sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn)); sb.append(','); valuesNotNullElement.addElement(new TextElement(sb.toString())); valuesTrimElement.addElement(valuesNotNullElement); diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java index 8c68cec083..3874b40dd0 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithBLOBsElementGenerator.java @@ -18,8 +18,7 @@ import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.XmlElement; -public class ResultMapWithBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class ResultMapWithBLOBsElementGenerator extends AbstractXmlElementGenerator { public ResultMapWithBLOBsElementGenerator() { super(); @@ -41,8 +40,7 @@ public void addElements(XmlElement parentElement) { returnType = introspectedTable.getBaseRecordType(); } - answer.addAttribute(new Attribute("type", //$NON-NLS-1$ - returnType)); + answer.addAttribute(new Attribute("type", returnType)); //$NON-NLS-1$ if (!introspectedTable.isConstructorBased()) { answer.addAttribute(new Attribute("extends", //$NON-NLS-1$ @@ -57,15 +55,13 @@ public void addElements(XmlElement parentElement) { addResultMapElements(answer); } - if (context.getPlugins() - .sqlMapResultMapWithBLOBsElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapResultMapWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } private void addResultMapElements(XmlElement answer) { - buildResultMapItems(ResultElementType.RESULT, introspectedTable.getBLOBColumns()) - .forEach(answer::addElement); + buildResultMapItems(ResultElementType.RESULT, introspectedTable.getBLOBColumns()).forEach(answer::addElement); } private void addResultMapConstructorElements(XmlElement answer) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java index 629d9d7b89..7c2d3358b8 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/ResultMapWithoutBLOBsElementGenerator.java @@ -21,8 +21,7 @@ import org.mybatis.generator.api.dom.xml.Attribute; import org.mybatis.generator.api.dom.xml.XmlElement; -public class ResultMapWithoutBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class ResultMapWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { private final boolean isSimple; @@ -34,8 +33,7 @@ public ResultMapWithoutBLOBsElementGenerator(boolean isSimple) { @Override public void addElements(XmlElement parentElement) { XmlElement answer = new XmlElement("resultMap"); //$NON-NLS-1$ - answer.addAttribute(new Attribute("id", //$NON-NLS-1$ - introspectedTable.getBaseResultMapId())); + answer.addAttribute(new Attribute("id", introspectedTable.getBaseResultMapId())); //$NON-NLS-1$ String returnType; if (isSimple) { @@ -48,8 +46,7 @@ public void addElements(XmlElement parentElement) { } } - answer.addAttribute(new Attribute("type", //$NON-NLS-1$ - returnType)); + answer.addAttribute(new Attribute("type", returnType)); //$NON-NLS-1$ context.getCommentGenerator().addComment(answer); @@ -59,15 +56,13 @@ public void addElements(XmlElement parentElement) { addResultMapElements(answer); } - if (context.getPlugins().sqlMapResultMapWithoutBLOBsElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins().sqlMapResultMapWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } private void addResultMapElements(XmlElement answer) { - buildResultMapItems(ResultElementType.ID, introspectedTable.getPrimaryKeyColumns()) - .forEach(answer::addElement); + buildResultMapItems(ResultElementType.ID, introspectedTable.getPrimaryKeyColumns()).forEach(answer::addElement); List columns; if (isSimple) { diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java index 68949d03c9..04cd1598f5 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerator.java @@ -21,8 +21,7 @@ import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -public class SelectByExampleWithBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class SelectByExampleWithBLOBsElementGenerator extends AbstractXmlElementGenerator { public SelectByExampleWithBLOBsElementGenerator() { super(); @@ -60,8 +59,7 @@ public void addElements(XmlElement parentElement) { sb.setLength(0); sb.append("from "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); answer.addElement(getExampleIncludeElement()); @@ -70,9 +68,7 @@ public void addElements(XmlElement parentElement) { ifElement.addElement(new TextElement("order by ${orderByClause}")); //$NON-NLS-1$ answer.addElement(ifElement); - if (context.getPlugins() - .sqlMapSelectByExampleWithBLOBsElementGenerated(answer, - introspectedTable)) { + if (context.getPlugins().sqlMapSelectByExampleWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java index b53145ac1e..786cdfa3c3 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithoutBLOBsElementGenerator.java @@ -57,8 +57,7 @@ public void addElements(XmlElement parentElement) { sb.setLength(0); sb.append("from "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); answer.addElement(getExampleIncludeElement()); @@ -67,9 +66,7 @@ public void addElements(XmlElement parentElement) { ifElement.addElement(new TextElement("order by ${orderByClause}")); //$NON-NLS-1$ answer.addElement(ifElement); - if (context.getPlugins() - .sqlMapSelectByExampleWithoutBLOBsElementGenerated(answer, - introspectedTable)) { + if (context.getPlugins().sqlMapSelectByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java index 4b1e4b7275..f4907a2fa7 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByPrimaryKeyElementGenerator.java @@ -21,8 +21,7 @@ import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -public class SelectByPrimaryKeyElementGenerator extends - AbstractXmlElementGenerator { +public class SelectByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator { public SelectByPrimaryKeyElementGenerator() { super(); @@ -51,8 +50,7 @@ public void addElements(XmlElement parentElement) { if (introspectedTable.getPrimaryKeyColumns().size() > 1) { parameterType = "map"; //$NON-NLS-1$ } else { - parameterType = introspectedTable.getPrimaryKeyColumns().get(0) - .getFullyQualifiedJavaType().toString(); + parameterType = introspectedTable.getPrimaryKeyColumns().get(0).getFullyQualifiedJavaType().toString(); } } @@ -77,14 +75,12 @@ public void addElements(XmlElement parentElement) { sb.setLength(0); sb.append("from "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); buildPrimaryKeyWhereClause().forEach(answer::addElement); - if (context.getPlugins() - .sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java index 5dcee39f7b..7218525368 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectAllElementGenerator.java @@ -21,8 +21,7 @@ import org.mybatis.generator.config.PropertyRegistry; import org.mybatis.generator.internal.util.StringUtility; -public class SimpleSelectAllElementGenerator extends - AbstractXmlElementGenerator { +public class SimpleSelectAllElementGenerator extends AbstractXmlElementGenerator { public SimpleSelectAllElementGenerator() { super(); @@ -43,8 +42,7 @@ public void addElements(XmlElement parentElement) { StringBuilder sb = new StringBuilder(); sb.append("from "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); String orderByClause = introspectedTable.getTableConfigurationProperty( @@ -57,8 +55,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(new TextElement(sb.toString())); } - if (context.getPlugins().sqlMapSelectAllElementGenerated( - answer, introspectedTable)) { + if (context.getPlugins().sqlMapSelectAllElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java index b7cbca11b9..699a74fa3f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SimpleSelectByPrimaryKeyElementGenerator.java @@ -21,8 +21,7 @@ import org.mybatis.generator.api.dom.xml.TextElement; import org.mybatis.generator.api.dom.xml.XmlElement; -public class SimpleSelectByPrimaryKeyElementGenerator extends - AbstractXmlElementGenerator { +public class SimpleSelectByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator { public SimpleSelectByPrimaryKeyElementGenerator() { super(); @@ -64,14 +63,12 @@ public void addElements(XmlElement parentElement) { sb.setLength(0); sb.append("from "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); buildPrimaryKeyWhereClause().forEach(answer::addElement); - if (context.getPlugins() - .sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapSelectByPrimaryKeyElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java index 63fda59d5e..ee9060d801 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleSelectiveElementGenerator.java @@ -42,8 +42,7 @@ public void addElements(XmlElement parentElement) { StringBuilder sb = new StringBuilder(); sb.append("update "); //$NON-NLS-1$ - sb.append(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime()); + sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()); answer.addElement(new TextElement(sb.toString())); XmlElement dynamicElement = new XmlElement("set"); //$NON-NLS-1$ @@ -69,8 +68,7 @@ public void addElements(XmlElement parentElement) { answer.addElement(getUpdateByExampleIncludeElement()); - if (context.getPlugins() - .sqlMapUpdateByExampleSelectiveElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByExampleSelectiveElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java index 582b066120..f1600aac09 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithBLOBsElementGenerator.java @@ -17,8 +17,7 @@ import org.mybatis.generator.api.dom.xml.XmlElement; -public class UpdateByExampleWithBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class UpdateByExampleWithBLOBsElementGenerator extends AbstractXmlElementGenerator { public UpdateByExampleWithBLOBsElementGenerator() { super(); @@ -29,8 +28,7 @@ public void addElements(XmlElement parentElement) { XmlElement answer = buildUpdateByExampleElement(introspectedTable.getUpdateByExampleWithBLOBsStatementId(), introspectedTable.getAllColumns()); - if (context.getPlugins() - .sqlMapUpdateByExampleWithBLOBsElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByExampleWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java index 41a7955ac5..87833d5c42 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByExampleWithoutBLOBsElementGenerator.java @@ -17,8 +17,7 @@ import org.mybatis.generator.api.dom.xml.XmlElement; -public class UpdateByExampleWithoutBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class UpdateByExampleWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { public UpdateByExampleWithoutBLOBsElementGenerator() { super(); @@ -29,8 +28,7 @@ public void addElements(XmlElement parentElement) { XmlElement answer = buildUpdateByExampleElement(introspectedTable.getUpdateByExampleStatementId(), introspectedTable.getNonBLOBColumns()); - if (context.getPlugins() - .sqlMapUpdateByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java index ac3d2bcf28..dbe805d5bf 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeySelectiveElementGenerator.java @@ -22,8 +22,7 @@ import org.mybatis.generator.codegen.mybatis3.ListUtilities; import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities; -public class UpdateByPrimaryKeySelectiveElementGenerator extends - AbstractXmlElementGenerator { +public class UpdateByPrimaryKeySelectiveElementGenerator extends AbstractXmlElementGenerator { public UpdateByPrimaryKeySelectiveElementGenerator() { super(); @@ -77,8 +76,7 @@ public void addElements(XmlElement parentElement) { buildPrimaryKeyWhereClause().forEach(answer::addElement); - if (context.getPlugins() - .sqlMapUpdateByPrimaryKeySelectiveElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByPrimaryKeySelectiveElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java index f00900b7ec..12a6da2c64 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithBLOBsElementGenerator.java @@ -17,8 +17,7 @@ import org.mybatis.generator.api.dom.xml.XmlElement; -public class UpdateByPrimaryKeyWithBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class UpdateByPrimaryKeyWithBLOBsElementGenerator extends AbstractXmlElementGenerator { public UpdateByPrimaryKeyWithBLOBsElementGenerator() { super(); @@ -38,8 +37,7 @@ public void addElements(XmlElement parentElement) { parameterType, introspectedTable.getNonPrimaryKeyColumns()); - if (context.getPlugins() - .sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java index 0e5bd7c125..a26e3b5929 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/UpdateByPrimaryKeyWithoutBLOBsElementGenerator.java @@ -20,8 +20,7 @@ import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.xml.XmlElement; -public class UpdateByPrimaryKeyWithoutBLOBsElementGenerator extends - AbstractXmlElementGenerator { +public class UpdateByPrimaryKeyWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator { private final boolean isSimple; @@ -42,8 +41,7 @@ public void addElements(XmlElement parentElement) { introspectedTable.getBaseRecordType(), columns); - if (context.getPlugins() - .sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer, introspectedTable)) { + if (context.getPlugins().sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer, introspectedTable)) { parentElement.addElement(answer); } } From 2eea0f0a5aedb27706dc88100ab435fdc6e9ceef Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 13:21:54 -0400 Subject: [PATCH 19/24] Common Select Annotation Lines --- .../AbstractJavaMapperMethodGenerator.java | 41 +++++++++++++++++ .../AnnotatedSelectAllMethodGenerator.java | 44 ++---------------- ...atedSelectByPrimaryKeyMethodGenerator.java | 45 ++----------------- 3 files changed, 48 insertions(+), 82 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java index d94ca0fbc2..4a35cf753a 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/AbstractJavaMapperMethodGenerator.java @@ -19,6 +19,7 @@ import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getEscapedColumnName; import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getParameterClause; import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getRenamedColumnNameForResultMap; +import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getSelectListPhrase; import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; import static org.mybatis.generator.internal.util.StringUtility.stringHasValue; @@ -332,4 +333,44 @@ protected Method buildBasicUpdateByPrimaryKeyMethod(String statementId, FullyQua context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); return method; } + + protected List buildInitialSelectAnnotationStrings() { + List answer = new ArrayList<>(); + answer.add("@Select({"); //$NON-NLS-1$ + StringBuilder sb = new StringBuilder(); + javaIndent(sb, 1); + sb.append("\"select\","); //$NON-NLS-1$ + answer.add(sb.toString()); + + sb.setLength(0); + javaIndent(sb, 1); + sb.append('"'); + boolean hasColumns = false; + Iterator iter = introspectedTable.getAllColumns().iterator(); + while (iter.hasNext()) { + sb.append(escapeStringForJava(getSelectListPhrase(iter.next()))); + hasColumns = true; + + if (iter.hasNext()) { + sb.append(", "); //$NON-NLS-1$ + } + + if (sb.length() > 80) { + sb.append("\","); //$NON-NLS-1$ + answer.add(sb.toString()); + + sb.setLength(0); + javaIndent(sb, 1); + sb.append('"'); + hasColumns = false; + } + } + + if (hasColumns) { + sb.append("\","); //$NON-NLS-1$ + answer.add(sb.toString()); + } + + return answer; + } } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java index 979a958dd9..bc291dab31 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectAllMethodGenerator.java @@ -16,12 +16,8 @@ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getSelectListPhrase; import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -39,46 +35,12 @@ public AnnotatedSelectAllMethodGenerator() { public void addMapperAnnotations(Interface interfaze, Method method) { interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Select")); //$NON-NLS-1$ - StringBuilder sb = new StringBuilder(); - method.addAnnotation("@Select({"); //$NON-NLS-1$ - javaIndent(sb, 1); - sb.append("\"select\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - sb.setLength(0); - javaIndent(sb, 1); - sb.append('"'); - boolean hasColumns = false; - Iterator iter = introspectedTable.getAllColumns().iterator(); - while (iter.hasNext()) { - sb.append(escapeStringForJava(getSelectListPhrase(iter.next()))); - hasColumns = true; - - if (iter.hasNext()) { - sb.append(", "); //$NON-NLS-1$ - } + buildInitialSelectAnnotationStrings().forEach(method::addAnnotation); - if (sb.length() > 80) { - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - sb.setLength(0); - javaIndent(sb, 1); - sb.append('"'); - hasColumns = false; - } - } - - if (hasColumns) { - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - } - - sb.setLength(0); + StringBuilder sb = new StringBuilder(); javaIndent(sb, 1); sb.append("\"from "); //$NON-NLS-1$ - sb.append(escapeStringForJava(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime())); + sb.append(escapeStringForJava(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime())); sb.append('\"'); String orderByClause = introspectedTable.getTableConfigurationProperty( diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java index 57fd7a8e48..9b3bc5c859 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByPrimaryKeyMethodGenerator.java @@ -16,12 +16,8 @@ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated; import static org.mybatis.generator.api.dom.OutputUtilities.javaIndent; -import static org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities.getSelectListPhrase; import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava; -import java.util.Iterator; - -import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.api.dom.java.Interface; import org.mybatis.generator.api.dom.java.Method; @@ -38,47 +34,14 @@ public AnnotatedSelectByPrimaryKeyMethodGenerator(boolean useResultMapIfAvailabl @Override public void addMapperAnnotations(Interface interfaze, Method method) { + interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Select")); //$NON-NLS-1$ - StringBuilder sb = new StringBuilder(); - method.addAnnotation("@Select({"); //$NON-NLS-1$ - javaIndent(sb, 1); - sb.append("\"select\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - sb.setLength(0); - javaIndent(sb, 1); - sb.append('"'); - boolean hasColumns = false; - Iterator iter = introspectedTable.getAllColumns().iterator(); - while (iter.hasNext()) { - sb.append(escapeStringForJava(getSelectListPhrase(iter.next()))); - hasColumns = true; - - if (iter.hasNext()) { - sb.append(", "); //$NON-NLS-1$ - } - - if (sb.length() > 80) { - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - - sb.setLength(0); - javaIndent(sb, 1); - sb.append('"'); - hasColumns = false; - } - } - - if (hasColumns) { - sb.append("\","); //$NON-NLS-1$ - method.addAnnotation(sb.toString()); - } + buildInitialSelectAnnotationStrings().forEach(method::addAnnotation); - sb.setLength(0); + StringBuilder sb = new StringBuilder(); javaIndent(sb, 1); sb.append("\"from "); //$NON-NLS-1$ - sb.append(escapeStringForJava(introspectedTable - .getAliasedFullyQualifiedTableNameAtRuntime())); + sb.append(escapeStringForJava(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime())); sb.append("\","); //$NON-NLS-1$ method.addAnnotation(sb.toString()); From 2ea8eb4972dc542ad901268bf32531e9c1e552e6 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 15:46:12 -0400 Subject: [PATCH 20/24] Read applyWhere method contents from a file --- .../elements/sqlprovider/ApplyWhereMethod.txt | 111 ++++++++++++++++++ .../sqlprovider/MethodLineReaderTest.java | 33 ++++++ 2 files changed, 144 insertions(+) create mode 100644 core/mybatis-generator-core/src/main/resources/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ApplyWhereMethod.txt create mode 100644 core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java diff --git a/core/mybatis-generator-core/src/main/resources/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ApplyWhereMethod.txt b/core/mybatis-generator-core/src/main/resources/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ApplyWhereMethod.txt new file mode 100644 index 0000000000..9e1fe7bc58 --- /dev/null +++ b/core/mybatis-generator-core/src/main/resources/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ApplyWhereMethod.txt @@ -0,0 +1,111 @@ +==== + Copyright 2006-2021 the original author or authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==== + +This file holds method lines that are added to the "applyWhere" method in a +generated SQLProvider. All lines after the delimiter "--- method lines below ---" +will be added to the method. + +--- method lines below --- +if (example == null) { + return; +} + +String parmPhrase1; +String parmPhrase1_th; +String parmPhrase2; +String parmPhrase2_th; +String parmPhrase3; +String parmPhrase3_th; +if (includeExamplePhrase) { + parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; +} else { + parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; +} + +StringBuilder sb = new StringBuilder(); +List oredCriteria = example.getOredCriteria(); +boolean firstCriteria = true; +for (int i = 0; i < oredCriteria.size(); i++) { + Criteria criteria = oredCriteria.get(i); + if (criteria.isValid()) { + if (firstCriteria) { + firstCriteria = false; + } else { + sb.append(" or "); + } + + sb.append('('); + List criterions = criteria.getAllCriteria(); + boolean firstCriterion = true; + for (int j = 0; j < criterions.size(); j++) { + Criterion criterion = criterions.get(j); + if (firstCriterion) { + firstCriterion = false; + } else { + sb.append(" and "); + } + + if (criterion.isNoValue()) { + sb.append(criterion.getCondition()); + } else if (criterion.isSingleValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); + } else { + sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); + } + } else if (criterion.isBetweenValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); + } else { + sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); + } + } else if (criterion.isListValue()) { + sb.append(criterion.getCondition()); + sb.append(" ("); + List listItems = (List) criterion.getValue(); + boolean comma = false; + for (int k = 0; k < listItems.size(); k++) { + if (comma) { + sb.append(", "); + } else { + comma = true; + } + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase3, i, j, k)); + } else { + sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); + } + } + sb.append(')'); + } + } + sb.append(')'); + } +} + +if (sb.length() > 0) { + sql.WHERE(sb.toString()); +} diff --git a/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java b/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java new file mode 100644 index 0000000000..e74e8e6147 --- /dev/null +++ b/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java @@ -0,0 +1,33 @@ +/* + * Copyright 2006-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.mybatis.generator.codegen.mybatis3.javamapper.elements.sqlprovider; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +import java.util.List; + +public class MethodLineReaderTest { + + @Test + void testTotalLines() { + List lines = ProviderApplyWhereMethodGenerator.getMethodLines(); + assertEquals(90, lines.size()); + assertEquals("firstCriteria = false;", lines.get(33)); + assertEquals("}", lines.get(89)); + } +} From 13f1271aae77cb9d7eafaa282957e10b108eb64c Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 15:46:17 -0400 Subject: [PATCH 21/24] Read applyWhere method contents from a file --- .../ProviderApplyWhereMethodGenerator.java | 139 ++++-------------- 1 file changed, 31 insertions(+), 108 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java index 3d1f007be4..2aed9eba21 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/ProviderApplyWhereMethodGenerator.java @@ -15,6 +15,13 @@ */ package org.mybatis.generator.codegen.mybatis3.javamapper.elements.sqlprovider; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import java.util.Set; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; @@ -25,107 +32,7 @@ public class ProviderApplyWhereMethodGenerator extends AbstractJavaProviderMethodGenerator { - private static final String[] BEGINNING_METHOD_LINES = { - "if (example == null) {", //$NON-NLS-1$ - "return;", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "", //$NON-NLS-1$ - "String parmPhrase1;", //$NON-NLS-1$ - "String parmPhrase1_th;", //$NON-NLS-1$ - "String parmPhrase2;", //$NON-NLS-1$ - "String parmPhrase2_th;", //$NON-NLS-1$ - "String parmPhrase3;", //$NON-NLS-1$ - "String parmPhrase3_th;", //$NON-NLS-1$ - "if (includeExamplePhrase) {", //$NON-NLS-1$ - "parmPhrase1 = \"%s #{example.oredCriteria[%d].allCriteria[%d].value}\";", //$NON-NLS-1$ - "parmPhrase1_th = \"%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}\";", //$NON-NLS-1$ - "parmPhrase2 = \"%s #{example.oredCriteria[%d].allCriteria[%d].value}" //$NON-NLS-1$ - + " and #{example.oredCriteria[%d].criteria[%d].secondValue}\";", //$NON-NLS-1$ - "parmPhrase2_th = \"%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}" //$NON-NLS-1$ - + " and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}\";", //$NON-NLS-1$ - "parmPhrase3 = \"#{example.oredCriteria[%d].allCriteria[%d].value[%d]}\";", //$NON-NLS-1$ - "parmPhrase3_th = \"#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}\";", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "parmPhrase1 = \"%s #{oredCriteria[%d].allCriteria[%d].value}\";", //$NON-NLS-1$ - "parmPhrase1_th = \"%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}\";", //$NON-NLS-1$ - "parmPhrase2 = \"%s #{oredCriteria[%d].allCriteria[%d].value}" //$NON-NLS-1$ - + " and #{oredCriteria[%d].criteria[%d].secondValue}\";", //$NON-NLS-1$ - "parmPhrase2_th = \"%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}" //$NON-NLS-1$ - + " and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}\";", //$NON-NLS-1$ - "parmPhrase3 = \"#{oredCriteria[%d].allCriteria[%d].value[%d]}\";", //$NON-NLS-1$ - "parmPhrase3_th = \"#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}\";", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "", //$NON-NLS-1$ - "StringBuilder sb = new StringBuilder();", //$NON-NLS-1$ - "List oredCriteria = example.getOredCriteria();", //$NON-NLS-1$ - "boolean firstCriteria = true;", //$NON-NLS-1$ - "for (int i = 0; i < oredCriteria.size(); i++) {", //$NON-NLS-1$ - "Criteria criteria = oredCriteria.get(i);", //$NON-NLS-1$ - "if (criteria.isValid()) {", //$NON-NLS-1$ - "if (firstCriteria) {", //$NON-NLS-1$ - "firstCriteria = false;", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "sb.append(\" or \");", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "", //$NON-NLS-1$ - "sb.append('(');", //$NON-NLS-1$ - "List criterions = criteria.getAllCriteria();", //$NON-NLS-1$ - "boolean firstCriterion = true;", //$NON-NLS-1$ - "for (int j = 0; j < criterions.size(); j++) {", //$NON-NLS-1$ - "Criterion criterion = criterions.get(j);", //$NON-NLS-1$ - "if (firstCriterion) {", //$NON-NLS-1$ - "firstCriterion = false;", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "sb.append(\" and \");", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "", //$NON-NLS-1$ - "if (criterion.isNoValue()) {", //$NON-NLS-1$ - "sb.append(criterion.getCondition());", //$NON-NLS-1$ - "} else if (criterion.isSingleValue()) {", //$NON-NLS-1$ - "if (criterion.getTypeHandler() == null) {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase1_th, criterion.getCondition()," //$NON-NLS-1$ - + " i, j,criterion.getTypeHandler()));", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "} else if (criterion.isBetweenValue()) {", //$NON-NLS-1$ - "if (criterion.getTypeHandler() == null) {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j," //$NON-NLS-1$ - + " criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "} else if (criterion.isListValue()) {", //$NON-NLS-1$ - "sb.append(criterion.getCondition());", //$NON-NLS-1$ - "sb.append(\" (\");", //$NON-NLS-1$ - "List listItems = (List) criterion.getValue();", //$NON-NLS-1$ - "boolean comma = false;", //$NON-NLS-1$ - "for (int k = 0; k < listItems.size(); k++) {", //$NON-NLS-1$ - "if (comma) {", //$NON-NLS-1$ - "sb.append(\", \");", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "comma = true;", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "if (criterion.getTypeHandler() == null) {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase3, i, j, k));", //$NON-NLS-1$ - "} else {", //$NON-NLS-1$ - "sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "sb.append(')');", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "sb.append(')');", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "}", //$NON-NLS-1$ - "" //$NON-NLS-1$ - }; - - private static final String[] ENDING_METHOD_LINES = { - "if (sb.length() > 0) {", //$NON-NLS-1$ - "sql.WHERE(sb.toString());", //$NON-NLS-1$ - "}" //$NON-NLS-1$ - }; + private static final List METHOD_LINES = getMethodLines(); @Override public void addClassElements(TopLevelClass topLevelClass) { @@ -147,17 +54,33 @@ public void addClassElements(TopLevelClass topLevelClass) { context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); - for (String methodLine : BEGINNING_METHOD_LINES) { - method.addBodyLine(methodLine); - } - - for (String methodLine : ENDING_METHOD_LINES) { - method.addBodyLine(methodLine); - } + METHOD_LINES.forEach(method::addBodyLine); if (context.getPlugins().providerApplyWhereMethodGenerated(method, topLevelClass, introspectedTable)) { topLevelClass.addImportedTypes(importedTypes); topLevelClass.addMethod(method); } } + + protected static List getMethodLines() { + List answer = new ArrayList<>(); + + InputStream is = + ProviderApplyWhereMethodGenerator.class.getResourceAsStream("ApplyWhereMethod.txt"); //$NON-NLS-1$ + try (BufferedReader br = new BufferedReader(new InputStreamReader(Objects.requireNonNull(is)))) { + String line; + boolean foundDelimiter = false; + while ((line = br.readLine()) != null) { + if (foundDelimiter) { + answer.add(line.trim()); + } else { + foundDelimiter = line.equals("--- method lines below ---"); //$NON-NLS-1$ + } + } + } catch (IOException e) { + throw new RuntimeException("IOException reading ApplyWhere method lines", e); //$NON-NLS-1$ + } + + return answer; + } } From 87bbb26c43c2ac1ebba49437a92a5b2f553aba03 Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 15:55:57 -0400 Subject: [PATCH 22/24] Checkstyle --- ...tatedSelectByExampleWithBLOBsMethodGenerator.java | 12 ++++++------ ...edSelectByExampleWithoutBLOBsMethodGenerator.java | 12 ++++++------ ...tatedUpdateByExampleWithBLOBsMethodGenerator.java | 8 ++++++-- ...edUpdateByExampleWithoutBLOBsMethodGenerator.java | 9 +++++++-- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java index d36fd07935..f64528a6d7 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithBLOBsMethodGenerator.java @@ -30,12 +30,12 @@ public AnnotatedSelectByExampleWithBLOBsMethodGenerator() { public void addMapperAnnotations(Interface interfaze, Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - String sb = "@SelectProvider(type=" + //$NON-NLS-1$ - fqjt.getShortName() + - ".class, method=\"" + //$NON-NLS-1$ - introspectedTable.getSelectByExampleWithBLOBsStatementId() + - "\")";//$NON-NLS-1$ - method.addAnnotation(sb); + String s = "@SelectProvider(type=" //$NON-NLS-1$ + + fqjt.getShortName() + + ".class, method=\"" //$NON-NLS-1$ + + introspectedTable.getSelectByExampleWithBLOBsStatementId() + + "\")";//$NON-NLS-1$ + method.addAnnotation(s); addAnnotatedResults(interfaze, method, introspectedTable.getNonPrimaryKeyColumns()); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java index 4c88448849..3ffc22264f 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedSelectByExampleWithoutBLOBsMethodGenerator.java @@ -30,12 +30,12 @@ public AnnotatedSelectByExampleWithoutBLOBsMethodGenerator() { public void addMapperAnnotations(Interface interfaze, Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - String sb = "@SelectProvider(type=" + //$NON-NLS-1$ - fqjt.getShortName() + - ".class, method=\"" + //$NON-NLS-1$ - introspectedTable.getSelectByExampleStatementId() + - "\")";//$NON-NLS-1$ - method.addAnnotation(sb); + String s = "@SelectProvider(type=" //$NON-NLS-1$ + + fqjt.getShortName() + + ".class, method=\"" //$NON-NLS-1$ + + introspectedTable.getSelectByExampleStatementId() + + "\")"; //$NON-NLS-1$ + method.addAnnotation(s); addAnnotatedResults(interfaze, method, introspectedTable.getBaseColumns()); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java index cf74bfe743..3c00744db7 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithBLOBsMethodGenerator.java @@ -29,8 +29,12 @@ public AnnotatedUpdateByExampleWithBLOBsMethodGenerator() { @Override public void addMapperAnnotations(Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - String s = String.format("@UpdateProvider(type=%s.class, method=\"%s\")", fqjt.getShortName(), //$NON-NLS-1$ - introspectedTable.getUpdateByExampleWithBLOBsStatementId()); + + String s = "@UpdateProvider(type=" //$NON-NLS-1$ + + fqjt.getShortName() + + ".class, method=\"" //$NON-NLS-1$ + + introspectedTable.getUpdateByExampleWithBLOBsStatementId() + + "\")"; //$NON-NLS-1$ method.addAnnotation(s); } diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java index aada7d3724..4253ca6b26 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/annotated/AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator.java @@ -29,8 +29,13 @@ public AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator() { @Override public void addMapperAnnotations(Method method) { FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType()); - String s = String.format("@UpdateProvider(type=%s.class, method=\"%s\")", fqjt.getShortName(), //$NON-NLS-1$ - introspectedTable.getUpdateByExampleStatementId()); + + String s = "@UpdateProvider(type=" //$NON-NLS-1$ + + fqjt.getShortName() + + ".class, method=\"" //$NON-NLS-1$ + + introspectedTable.getUpdateByExampleStatementId() + + "\")"; //$NON-NLS-1$ + method.addAnnotation(s); } From d56114d6fd8e5f6515d699a58c41b25edc783bac Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 16:40:38 -0400 Subject: [PATCH 23/24] Copy/Paste Reduction --- .../mybatis3/model/ExampleGenerator.java | 109 +++++++----------- 1 file changed, 43 insertions(+), 66 deletions(-) diff --git a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java index f2ad157b57..5f80686e9b 100644 --- a/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java +++ b/core/mybatis-generator-core/src/main/java/org/mybatis/generator/codegen/mybatis3/model/ExampleGenerator.java @@ -250,19 +250,11 @@ private InnerClass getCriterionInnerClass() { method.addBodyLine("}"); //$NON-NLS-1$ answer.addMethod(method); - method = new Method("Criterion"); //$NON-NLS-1$ - method.setVisibility(JavaVisibility.PROTECTED); - method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method = createCriterionConstructor(); method.addBodyLine("this(condition, value, null);"); //$NON-NLS-1$ answer.addMethod(method); - method = new Method("Criterion"); //$NON-NLS-1$ - method.setVisibility(JavaVisibility.PROTECTED); - method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method = createCriterionConstructor(); method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "secondValue")); //$NON-NLS-1$ method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "typeHandler")); //$NON-NLS-1$ method.addBodyLine("super();"); //$NON-NLS-1$ @@ -273,11 +265,7 @@ private InnerClass getCriterionInnerClass() { method.addBodyLine("this.betweenValue = true;"); //$NON-NLS-1$ answer.addMethod(method); - method = new Method("Criterion"); //$NON-NLS-1$ - method.setVisibility(JavaVisibility.PROTECTED); - method.setConstructor(true); - method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ - method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + method = createCriterionConstructor(); method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "secondValue")); //$NON-NLS-1$ method.addBodyLine("this(condition, value, secondValue, null);"); //$NON-NLS-1$ answer.addMethod(method); @@ -285,6 +273,15 @@ private InnerClass getCriterionInnerClass() { return answer; } + private Method createCriterionConstructor() { + Method method = new Method("Criterion"); //$NON-NLS-1$ + method.setVisibility(JavaVisibility.PROTECTED); + method.setConstructor(true); + method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "condition")); //$NON-NLS-1$ + method.addParameter(new Parameter(FullyQualifiedJavaType.getObjectInstance(), "value")); //$NON-NLS-1$ + return method; + } + private InnerClass getCriteriaInnerClass() { InnerClass answer = new InnerClass(FullyQualifiedJavaType.getCriteriaInstance()); @@ -620,17 +617,39 @@ private Method getSetNotLikeMethod(IntrospectedColumn introspectedColumn) { private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, String nameFragment, String operator) { StringBuilder sb = new StringBuilder(); - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); - sb.insert(0, "and"); //$NON-NLS-1$ + sb.append(initializeAndMethodName(introspectedColumn)); sb.append(nameFragment); Method method = new Method(sb.toString()); method.setVisibility(JavaVisibility.PUBLIC); method.addParameter(new Parameter(introspectedColumn.getFullyQualifiedJavaType(), "value")); //$NON-NLS-1$ method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance()); + sb.setLength(0); + sb.append(initializeAddLine(introspectedColumn)); + sb.append(' '); + sb.append(operator); + sb.append("\", "); //$NON-NLS-1$ + sb.append("value"); //$NON-NLS-1$ + sb.append(", \""); //$NON-NLS-1$ + sb.append(introspectedColumn.getJavaProperty()); + sb.append("\");"); //$NON-NLS-1$ + method.addBodyLine(sb.toString()); + method.addBodyLine("return (Criteria) this;"); //$NON-NLS-1$ + return method; + } + + private String initializeAndMethodName(IntrospectedColumn introspectedColumn) { + StringBuilder sb = new StringBuilder(); + sb.append(introspectedColumn.getJavaProperty()); + sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); + sb.insert(0, "and"); //$NON-NLS-1$ + return sb.toString(); + } + + private String initializeAddLine(IntrospectedColumn introspectedColumn) { + StringBuilder sb = new StringBuilder(); if (introspectedColumn.isJDBCDateColumn()) { sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ } else if (introspectedColumn.isJDBCTimeColumn()) { @@ -645,17 +664,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, Strin } sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); - sb.append(' '); - sb.append(operator); - sb.append("\", "); //$NON-NLS-1$ - sb.append("value"); //$NON-NLS-1$ - sb.append(", \""); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.append("\");"); //$NON-NLS-1$ - method.addBodyLine(sb.toString()); - method.addBodyLine("return (Criteria) this;"); //$NON-NLS-1$ - - return method; + return sb.toString(); } /** @@ -668,9 +677,7 @@ private Method getSingleValueMethod(IntrospectedColumn introspectedColumn, Strin private Method getSetBetweenOrNotBetweenMethod(IntrospectedColumn introspectedColumn, boolean betweenMethod) { StringBuilder sb = new StringBuilder(); - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); - sb.insert(0, "and"); //$NON-NLS-1$ + sb.append(initializeAndMethodName(introspectedColumn)); if (betweenMethod) { sb.append("Between"); //$NON-NLS-1$ } else { @@ -685,20 +692,7 @@ private Method getSetBetweenOrNotBetweenMethod(IntrospectedColumn introspectedCo method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance()); sb.setLength(0); - if (introspectedColumn.isJDBCDateColumn()) { - sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ - } else if (introspectedColumn.isJDBCTimeColumn()) { - sb.append("addCriterionForJDBCTime(\""); //$NON-NLS-1$ - } else if (stringHasValue(introspectedColumn.getTypeHandler())) { - sb.append("add"); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(3, Character.toUpperCase(sb.charAt(3))); - sb.append("Criterion(\""); //$NON-NLS-1$ - } else { - sb.append("addCriterion(\""); //$NON-NLS-1$ - } - - sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); + sb.append(initializeAddLine(introspectedColumn)); if (betweenMethod) { sb.append(" between"); //$NON-NLS-1$ } else { @@ -726,9 +720,7 @@ private Method getSetBetweenOrNotBetweenMethod(IntrospectedColumn introspectedCo */ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, boolean inMethod) { StringBuilder sb = new StringBuilder(); - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); - sb.insert(0, "and"); //$NON-NLS-1$ + sb.append(initializeAndMethodName(introspectedColumn)); if (inMethod) { sb.append("In"); //$NON-NLS-1$ } else { @@ -747,20 +739,7 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, bool method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance()); sb.setLength(0); - if (introspectedColumn.isJDBCDateColumn()) { - sb.append("addCriterionForJDBCDate(\""); //$NON-NLS-1$ - } else if (introspectedColumn.isJDBCTimeColumn()) { - sb.append("addCriterionForJDBCTime(\""); //$NON-NLS-1$ - } else if (stringHasValue(introspectedColumn.getTypeHandler())) { - sb.append("add"); //$NON-NLS-1$ - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(3, Character.toUpperCase(sb.charAt(3))); - sb.append("Criterion(\""); //$NON-NLS-1$ - } else { - sb.append("addCriterion(\""); //$NON-NLS-1$ - } - - sb.append(MyBatis3FormattingUtilities.getAliasedActualColumnName(introspectedColumn)); + sb.append(initializeAddLine(introspectedColumn)); if (inMethod) { sb.append(" in"); //$NON-NLS-1$ } else { @@ -777,9 +756,7 @@ private Method getSetInOrNotInMethod(IntrospectedColumn introspectedColumn, bool private Method getNoValueMethod(IntrospectedColumn introspectedColumn, String nameFragment, String operator) { StringBuilder sb = new StringBuilder(); - sb.append(introspectedColumn.getJavaProperty()); - sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); - sb.insert(0, "and"); //$NON-NLS-1$ + sb.append(initializeAndMethodName(introspectedColumn)); sb.append(nameFragment); Method method = new Method(sb.toString()); From bb356342eae9b836577edcb2b675970b222c13ee Mon Sep 17 00:00:00 2001 From: Jeff Butler Date: Fri, 21 May 2021 16:40:51 -0400 Subject: [PATCH 24/24] Checkstyle --- .../javamapper/elements/sqlprovider/MethodLineReaderTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java b/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java index e74e8e6147..59cbcf01a3 100644 --- a/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java +++ b/core/mybatis-generator-core/src/test/java/org/mybatis/generator/codegen/mybatis3/javamapper/elements/sqlprovider/MethodLineReaderTest.java @@ -21,7 +21,7 @@ import java.util.List; -public class MethodLineReaderTest { +class MethodLineReaderTest { @Test void testTotalLines() {