@@ -157,81 +157,83 @@ public boolean sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(XmlElement e
157157 */
158158 @ Override
159159 public boolean modelBuilderClassGenerated (TopLevelClass topLevelClass , InnerClass builderClass , List <IntrospectedColumn > columns , IntrospectedTable introspectedTable ) {
160- // 增加枚举
161- InnerEnum eIncrements = new InnerEnum (new FullyQualifiedJavaType ("Inc" ));
162- eIncrements .setVisibility (JavaVisibility .PUBLIC );
163- eIncrements .setStatic (true );
164- eIncrements .addEnumConstant ("INC(\" +\" )" );
165- eIncrements .addEnumConstant ("DEC(\" -\" )" );
166- commentGenerator .addEnumComment (eIncrements , introspectedTable );
167- // 生成属性和构造函数
168- Field fValue = new Field ("value" , FullyQualifiedJavaType .getStringInstance ());
169- fValue .setVisibility (JavaVisibility .PRIVATE );
170- fValue .setFinal (true );
171- commentGenerator .addFieldComment (fValue , introspectedTable );
172- eIncrements .addField (fValue );
173-
174- Method mInc = new Method ("Inc" );
175- mInc .setConstructor (true );
176- mInc .addBodyLine ("this.value = value;" );
177- mInc .addParameter (new Parameter (FullyQualifiedJavaType .getStringInstance (), "value" ));
178- commentGenerator .addGeneralMethodComment (mInc , introspectedTable );
179- eIncrements .addMethod (mInc );
180-
181- Method mValue = JavaElementGeneratorTools .generateGetterMethod (fValue );
182- commentGenerator .addGeneralMethodComment (mValue , introspectedTable );
183- eIncrements .addMethod (mValue );
184-
185- builderClass .addInnerEnum (eIncrements );
186- // 增加field
187- Field fIncrements = JavaElementGeneratorTools .generateField (
188- IncrementsPlugin .FIELD_INC_MAP ,
189- JavaVisibility .PROTECTED ,
190- new FullyQualifiedJavaType ("Map<String, " + incTools .getIncEnum ().getFullyQualifiedName () + ">" ),
191- "new HashMap<String, " + incTools .getIncEnum ().getFullyQualifiedName () + ">()"
192- );
193- commentGenerator .addFieldComment (fIncrements , introspectedTable );
194- topLevelClass .addField (fIncrements );
195- topLevelClass .addImportedType ("java.util.Map" );
196- topLevelClass .addImportedType ("java.util.HashMap" );
197- // getter&setter
198- Method mGetter = JavaElementGeneratorTools .generateGetterMethod (fIncrements );
199- commentGenerator .addGetterComment (mGetter , introspectedTable , null );
200- topLevelClass .addMethod (mGetter );
201- Method mSetter = JavaElementGeneratorTools .generateSetterMethod (fIncrements );
202- commentGenerator .addSetterComment (mSetter , introspectedTable , null );
203- topLevelClass .addMethod (mSetter );
204- // 增加判断方法
205- Method mHasIncsForColumn = JavaElementGeneratorTools .generateMethod (
206- IncrementsPlugin .METHOD_INC_CHECK ,
207- JavaVisibility .PUBLIC ,
208- FullyQualifiedJavaType .getBooleanPrimitiveInstance (),
209- new Parameter (FullyQualifiedJavaType .getStringInstance (), "column" )
210- );
211- commentGenerator .addGeneralMethodComment (mHasIncsForColumn , introspectedTable );
212- mHasIncsForColumn .addBodyLine ("return " + IncrementsPlugin .FIELD_INC_MAP + ".get(column) != null;" );
213- FormatTools .addMethodWithBestPosition (topLevelClass , mHasIncsForColumn );
214-
215- // Builder 中 添加字段支持
216- for (IntrospectedColumn column : columns ) {
217- if (incTools .supportColumn (column )) {
218- Field field = JavaBeansUtil .getJavaBeansField (column , context , introspectedTable );
219- // 增加方法
220- Method mIncrements = JavaElementGeneratorTools .generateMethod (
221- field .getName (),
222- JavaVisibility .PUBLIC ,
223- builderClass .getType (),
224- new Parameter (field .getType (), field .getName ()),
225- new Parameter (incTools .getIncEnum (), "inc" )
226- );
227- commentGenerator .addSetterComment (mIncrements , introspectedTable , column );
228-
229- Method setterMethod = JavaBeansUtil .getJavaBeansSetter (column , context , introspectedTable );
230- mIncrements .addBodyLine ("obj." + IncrementsPlugin .FIELD_INC_MAP + ".put(\" " + column .getActualColumnName () + "\" , inc);" );
231- mIncrements .addBodyLine ("obj." + setterMethod .getName () + "(" + field .getName () + ");" );
232- mIncrements .addBodyLine ("return this;" );
233-
234- FormatTools .addMethodWithBestPosition (builderClass , mIncrements );
160+ if (incTools .support ()) {
161+ // 增加枚举
162+ InnerEnum eIncrements = new InnerEnum (new FullyQualifiedJavaType ("Inc" ));
163+ eIncrements .setVisibility (JavaVisibility .PUBLIC );
164+ eIncrements .setStatic (true );
165+ eIncrements .addEnumConstant ("INC(\" +\" )" );
166+ eIncrements .addEnumConstant ("DEC(\" -\" )" );
167+ commentGenerator .addEnumComment (eIncrements , introspectedTable );
168+ // 生成属性和构造函数
169+ Field fValue = new Field ("value" , FullyQualifiedJavaType .getStringInstance ());
170+ fValue .setVisibility (JavaVisibility .PRIVATE );
171+ fValue .setFinal (true );
172+ commentGenerator .addFieldComment (fValue , introspectedTable );
173+ eIncrements .addField (fValue );
174+
175+ Method mInc = new Method ("Inc" );
176+ mInc .setConstructor (true );
177+ mInc .addBodyLine ("this.value = value;" );
178+ mInc .addParameter (new Parameter (FullyQualifiedJavaType .getStringInstance (), "value" ));
179+ commentGenerator .addGeneralMethodComment (mInc , introspectedTable );
180+ eIncrements .addMethod (mInc );
181+
182+ Method mValue = JavaElementGeneratorTools .generateGetterMethod (fValue );
183+ commentGenerator .addGeneralMethodComment (mValue , introspectedTable );
184+ eIncrements .addMethod (mValue );
185+
186+ builderClass .addInnerEnum (eIncrements );
187+ // 增加field
188+ Field fIncrements = JavaElementGeneratorTools .generateField (
189+ IncrementsPlugin .FIELD_INC_MAP ,
190+ JavaVisibility .PROTECTED ,
191+ new FullyQualifiedJavaType ("Map<String, " + incTools .getIncEnum ().getFullyQualifiedName () + ">" ),
192+ "new HashMap<String, " + incTools .getIncEnum ().getFullyQualifiedName () + ">()"
193+ );
194+ commentGenerator .addFieldComment (fIncrements , introspectedTable );
195+ topLevelClass .addField (fIncrements );
196+ topLevelClass .addImportedType ("java.util.Map" );
197+ topLevelClass .addImportedType ("java.util.HashMap" );
198+ // getter&setter
199+ Method mGetter = JavaElementGeneratorTools .generateGetterMethod (fIncrements );
200+ commentGenerator .addGetterComment (mGetter , introspectedTable , null );
201+ topLevelClass .addMethod (mGetter );
202+ Method mSetter = JavaElementGeneratorTools .generateSetterMethod (fIncrements );
203+ commentGenerator .addSetterComment (mSetter , introspectedTable , null );
204+ topLevelClass .addMethod (mSetter );
205+ // 增加判断方法
206+ Method mHasIncsForColumn = JavaElementGeneratorTools .generateMethod (
207+ IncrementsPlugin .METHOD_INC_CHECK ,
208+ JavaVisibility .PUBLIC ,
209+ FullyQualifiedJavaType .getBooleanPrimitiveInstance (),
210+ new Parameter (FullyQualifiedJavaType .getStringInstance (), "column" )
211+ );
212+ commentGenerator .addGeneralMethodComment (mHasIncsForColumn , introspectedTable );
213+ mHasIncsForColumn .addBodyLine ("return " + IncrementsPlugin .FIELD_INC_MAP + ".get(column) != null;" );
214+ FormatTools .addMethodWithBestPosition (topLevelClass , mHasIncsForColumn );
215+
216+ // Builder 中 添加字段支持
217+ for (IntrospectedColumn column : columns ) {
218+ if (incTools .supportColumn (column )) {
219+ Field field = JavaBeansUtil .getJavaBeansField (column , context , introspectedTable );
220+ // 增加方法
221+ Method mIncrements = JavaElementGeneratorTools .generateMethod (
222+ field .getName (),
223+ JavaVisibility .PUBLIC ,
224+ builderClass .getType (),
225+ new Parameter (field .getType (), field .getName ()),
226+ new Parameter (incTools .getIncEnum (), "inc" )
227+ );
228+ commentGenerator .addSetterComment (mIncrements , introspectedTable , column );
229+
230+ Method setterMethod = JavaBeansUtil .getJavaBeansSetter (column , context , introspectedTable );
231+ mIncrements .addBodyLine ("obj." + IncrementsPlugin .FIELD_INC_MAP + ".put(\" " + column .getActualColumnName () + "\" , inc);" );
232+ mIncrements .addBodyLine ("obj." + setterMethod .getName () + "(" + field .getName () + ");" );
233+ mIncrements .addBodyLine ("return this;" );
234+
235+ FormatTools .addMethodWithBestPosition (builderClass , mIncrements );
236+ }
235237 }
236238 }
237239 return true ;
@@ -327,7 +329,7 @@ public Element incrementSetsWithSelectiveEnhancedPluginElementGenerated(Introspe
327329 sb .append ("column.value" );
328330
329331 when .addAttribute (new Attribute ("test" , sb .toString ()));
330- when .addElement (new TextElement ("${column.value} = ${column.value} ${record.incrementsColumnsInfoMap ."
332+ when .addElement (new TextElement ("${column.value} = ${column.value} ${record." + FIELD_INC_MAP + " ."
331333 + introspectedColumn .getActualColumnName ()
332334 + ".value} #{record.${column.javaProperty},jdbcType=${column.jdbcType}}" ));
333335 choose .addElement (when );
0 commit comments