From 7e403d1dc44602576bee862d273667b108f41604 Mon Sep 17 00:00:00 2001 From: hewei Date: Mon, 16 Jan 2017 17:47:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=8F=92=E4=BB=B6=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E6=97=A5=E5=BF=97=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/plugins/BatchInsertPlugin.java | 3 ++- .../generator/plugins/CriteriaBuilderPlugin.java | 14 ++++++++++++++ .../generator/plugins/ExampleEnhancedPlugin.java | 2 +- .../generator/plugins/ExampleTargetPlugin.java | 2 +- .../mybatis/generator/plugins/LimitPlugin.java | 12 +++++++----- .../generator/plugins/LogicalDeletePlugin.java | 12 +++++++++++- .../generator/plugins/ModelBuilderPlugin.java | 10 +++++----- .../plugins/SelectOneByExamplePlugin.java | 5 ++--- 8 files changed, 43 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java index 7abdf35..23c8f2d 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java @@ -79,7 +79,6 @@ public class BatchInsertPlugin extends PluginAdapter { */ @Override public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { - logger.debug("itfsw:生成" + interfaze.getType() + "对应batchInsert方法..."); // 方法生成 Method method = new Method(METHOD_BATCH_INSERT); // 方法可见性 interface会忽略 @@ -95,6 +94,7 @@ public class BatchInsertPlugin extends PluginAdapter { // interface 增加方法 interfaze.addMethod(method); + logger.debug("itfsw(批量插入插件):" + interfaze.getType().getShortName() + "增加batchInsert方法。"); return true; } @@ -190,6 +190,7 @@ public class BatchInsertPlugin extends PluginAdapter { if (context.getPlugins().sqlMapInsertElementGenerated(element, introspectedTable)) { document.getRootElement().addElement(element); + logger.debug("itfsw(批量插入插件):" + introspectedTable.getMyBatis3XmlMapperFileName() + "增加batchInsert实现方法。"); } } } diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/CriteriaBuilderPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/CriteriaBuilderPlugin.java index 45ac6e2..e57c2df 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/CriteriaBuilderPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/CriteriaBuilderPlugin.java @@ -16,6 +16,11 @@ package com.itfsw.mybatis.generator.plugins; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + /** * --------------------------------------------------------------------------- * 增加Criteria Builder方法 @@ -26,5 +31,14 @@ package com.itfsw.mybatis.generator.plugins; */ @Deprecated public class CriteriaBuilderPlugin extends ExampleEnhancedPlugin{ + private static final Logger logger = LoggerFactory.getLogger(CriteriaBuilderPlugin.class); + /** + * {@inheritDoc} + */ + @Override + public boolean validate(List warnings) { + logger.warn("itfsw:插件"+this.getClass().getTypeName()+"插件已经过时,请使用com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin插件替换!"); + return super.validate(warnings); + } } diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java index c6a965c..a557921 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java @@ -21,7 +21,7 @@ import java.util.List; * --------------------------------------------------------------------------- */ public class ExampleEnhancedPlugin extends PluginAdapter { - private static final Logger logger = LoggerFactory.getLogger(CriteriaBuilderPlugin.class); + private static final Logger logger = LoggerFactory.getLogger(ExampleEnhancedPlugin.class); /** * {@inheritDoc} */ diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleTargetPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleTargetPlugin.java index 3e032d7..cae3fb4 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleTargetPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/ExampleTargetPlugin.java @@ -80,7 +80,7 @@ public class ExampleTargetPlugin extends PluginAdapter { introspectedTable.setExampleType(newExampleType); - logger.debug("itfsw:修改"+exampleType+"的包到"+this.targetPackage); + logger.debug("itfsw(Example 目标包修改插件):修改"+introspectedTable.getExampleType()+"的包到"+this.targetPackage); } } diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/LimitPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/LimitPlugin.java index d84c00c..88fe8b2 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/LimitPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/LimitPlugin.java @@ -82,7 +82,7 @@ public class LimitPlugin extends PluginAdapter { rows.setType(integerWrapper); CommentTools.addFieldComment(rows, introspectedTable); topLevelClass.addField(rows); - logger.debug("itfsw:分页插件增加Example的offset和rows字段"); + logger.debug("itfsw(MySQL分页插件):"+topLevelClass.getType().getShortName()+"增加offset和rows字段"); // 增加getter && setter 方法 Method setOffset = new Method(); @@ -116,7 +116,7 @@ public class LimitPlugin extends PluginAdapter { getRows.addBodyLine("return rows;"); CommentTools.addGeneralMethodComment(getRows, introspectedTable); topLevelClass.addMethod(getRows); - logger.debug("itfsw:分页插件增加Example的offset和rows的getter和setter"); + logger.debug("itfsw(MySQL分页插件):"+topLevelClass.getType().getShortName()+"增加offset和rows的getter和setter实现。"); // 提供几个快捷方法 Method setLimit = new Method(); @@ -140,7 +140,7 @@ public class LimitPlugin extends PluginAdapter { setLimit2.addBodyLine("return this;"); CommentTools.addGeneralMethodComment(setLimit2, introspectedTable); topLevelClass.addMethod(setLimit2); - logger.debug("itfsw:分页插件增加Example的limit方法"); + logger.debug("itfsw(MySQL分页插件):"+topLevelClass.getType().getShortName()+"增加limit方法。"); Method setPage = new Method(); setPage.setVisibility(JavaVisibility.PUBLIC); @@ -153,7 +153,7 @@ public class LimitPlugin extends PluginAdapter { setPage.addBodyLine("return this;"); CommentTools.addGeneralMethodComment(setPage, introspectedTable); topLevelClass.addMethod(setPage); - logger.debug("itfsw:分页插件增加Example的page方法"); + logger.debug("itfsw(MySQL分页插件):"+topLevelClass.getType().getShortName()+"增加page方法"); // !!! clear 方法增加 offset 和 rows的清理 List methodList = topLevelClass.getMethods(); @@ -161,7 +161,7 @@ public class LimitPlugin extends PluginAdapter { if (method.getName().equals("clear")){ method.addBodyLine("rows = null;"); method.addBodyLine("offset = null;"); - logger.debug("itfsw:分页插件修正Example的clear方法,增加rows和offset字段的清空"); + logger.debug("itfsw(MySQL分页插件):"+topLevelClass.getType().getShortName()+"修改clear方法,增加rows和offset字段的清空"); } } @@ -193,6 +193,8 @@ public class LimitPlugin extends PluginAdapter { element.addElement(ifLimitNotNullElement); + logger.debug("itfsw(MySQL分页插件):"+introspectedTable.getMyBatis3XmlMapperFileName()+"selectByExample方法增加分页条件。"); + return true; } diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/LogicalDeletePlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/LogicalDeletePlugin.java index d870744..c50df5c 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/LogicalDeletePlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/LogicalDeletePlugin.java @@ -116,10 +116,14 @@ public class LogicalDeletePlugin extends PluginAdapter { || JDBCType.VARCHAR == type){ this.logicalDeleteColumn = column; } else { - logger.warn("itfsw:插件"+this.getClass().getTypeName()+"逻辑删除列的类型不支持(请使用数字列,字符串列,布尔列)!"); + logger.warn("itfsw(逻辑删除插件):"+introspectedTable.getFullyQualifiedTable()+"逻辑删除列("+introspectedTable.getTableConfigurationProperty(LOGICAL_DELETE_COLUMN_KEY)+")的类型不在支持范围(请使用数字列,字符串列,布尔列)!"); } } } + + if (introspectedTable.getTableConfigurationProperty(LOGICAL_DELETE_COLUMN_KEY) != null && this.logicalDeleteColumn == null){ + logger.warn("itfsw(逻辑删除插件):"+introspectedTable.getFullyQualifiedTable()+"没有找到您配置的逻辑删除列("+introspectedTable.getTableConfigurationProperty(LOGICAL_DELETE_COLUMN_KEY)+")!"); + } } /** @@ -145,6 +149,7 @@ public class LogicalDeletePlugin extends PluginAdapter { CommentTools.addGeneralMethodComment(mLogicalDeleteByExample, introspectedTable); // interface 增加方法 interfaze.addMethod(mLogicalDeleteByExample); + logger.debug("itfsw(逻辑删除插件):"+interfaze.getType().getShortName()+"增加方法logicalDeleteByExample。"); // 2. 判断是否有主键,生成主键删除方法 if (introspectedTable.hasPrimaryKeyColumns()){ @@ -190,6 +195,7 @@ public class LogicalDeletePlugin extends PluginAdapter { // interface 增加方法 interfaze.addImportedTypes(importedTypes); interfaze.addMethod(mLogicalDeleteByPrimaryKey); + logger.debug("itfsw(逻辑删除插件):"+interfaze.getType().getShortName()+"增加方法logicalDeleteByPrimaryKey。"); } } return true; @@ -241,6 +247,7 @@ public class LogicalDeletePlugin extends PluginAdapter { logicalDeleteByExample.addElement(XmlElementGeneratorTools.getUpdateByExampleIncludeElement(introspectedTable)); document.getRootElement().addElement(logicalDeleteByExample); + logger.debug("itfsw(逻辑删除插件):"+introspectedTable.getMyBatis3XmlMapperFileName()+"增加方法logicalDeleteByExample的实现。"); // 2. 判断是否有主键,生成主键删除方法 if (introspectedTable.hasPrimaryKeyColumns()){ @@ -306,6 +313,7 @@ public class LogicalDeletePlugin extends PluginAdapter { } document.getRootElement().addElement(logicalDeleteByPrimaryKey); + logger.debug("itfsw(逻辑删除插件):"+introspectedTable.getMyBatis3XmlMapperFileName()+"增加方法logicalDeleteByPrimaryKey的实现。"); } } return true; @@ -342,6 +350,7 @@ public class LogicalDeletePlugin extends PluginAdapter { // 常量插入到第一位 ArrayList fields = (ArrayList) topLevelClass.getFields(); fields.add(0, field); + logger.debug("itfsw(逻辑删除插件):"+topLevelClass.getType().getShortName()+"增加方法DEL_FLAG的常量。"); } return true; } @@ -401,6 +410,7 @@ public class LogicalDeletePlugin extends PluginAdapter { method.addBodyLine(sb.toString()); innerClass.addMethod(method); + logger.debug("itfsw(逻辑删除插件):"+topLevelClass.getType().getShortName()+"."+innerClass.getType().getShortName()+"增加andDeleted方法。"); } } } diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java index b2a1127..41f36b2 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java @@ -70,7 +70,7 @@ public class ModelBuilderPlugin extends PluginAdapter { innerClass.setVisibility(JavaVisibility.PUBLIC); innerClass.setStatic(true); CommentTools.addClassComment(innerClass, introspectedTable); - logger.debug("itfsw:生成内部Builder类"); + logger.debug("itfsw(数据Model链式构建插件):"+topLevelClass.getType().getShortName()+"增加内部Builder类。"); // 构建内部obj变量 Field f = new Field("obj", topLevelClass.getType()); @@ -84,7 +84,7 @@ public class ModelBuilderPlugin extends PluginAdapter { constructor.addBodyLine(new StringBuilder("this.obj = new ") .append(topLevelClass.getType().getShortName()).append("();").toString()); innerClass.addMethod(constructor); - logger.debug("itfsw:生成内部Builder类构造方法"); + logger.debug("itfsw(数据Model链式构建插件):"+topLevelClass.getType().getShortName()+".Builder增加的构造方法。"); // !!可能Model存在复合主键情况,字段要加上这些 if (topLevelClass.getSuperClass() != null && topLevelClass.getSuperClass().compareTo(new FullyQualifiedJavaType(introspectedTable.getPrimaryKeyType())) == 0){ @@ -101,7 +101,7 @@ public class ModelBuilderPlugin extends PluginAdapter { method.addBodyLine(new StringBuilder().append("return this;").toString()); CommentTools.addGeneralMethodComment(method, introspectedTable); innerClass.addMethod(method); - logger.debug("itfsw:生成内部Builder类的复合主键字段对应方法"+field.getName()); + logger.debug("itfsw(数据Model链式构建插件):"+topLevelClass.getType().getShortName()+".Builder增加"+method.getName()+"方法(复合主键)。"); } } @@ -119,7 +119,7 @@ public class ModelBuilderPlugin extends PluginAdapter { method.addBodyLine(new StringBuilder().append("return this;").toString()); CommentTools.addGeneralMethodComment(method, introspectedTable); innerClass.addMethod(method); - logger.debug("itfsw:生成内部Builder类的普通字段对应方法"+field.getName()); + logger.debug("itfsw(数据Model链式构建插件):"+topLevelClass.getType().getShortName()+".Builder增加"+method.getName()+"方法。"); } Method build = new Method("build"); @@ -128,7 +128,7 @@ public class ModelBuilderPlugin extends PluginAdapter { build.addBodyLine("return this.obj;"); CommentTools.addGeneralMethodComment(build, introspectedTable); innerClass.addMethod(build); - logger.debug("itfsw:生成内部Builder类的build方法"); + logger.debug("itfsw(数据Model链式构建插件):"+topLevelClass.getType().getShortName()+".Builder增加build方法。"); topLevelClass.addInnerClass(innerClass); return true; diff --git a/src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java b/src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java index e5c24a8..044bd25 100644 --- a/src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java +++ b/src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java @@ -69,7 +69,6 @@ public class SelectOneByExamplePlugin extends PluginAdapter { */ @Override public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { - logger.debug("itfsw:生成"+interfaze.getType()+"对应SelectOneByExample方法..."); // 方法生成 Method method = new Method(METHOD_NAME); // 方法可见性 interface会忽略 @@ -85,6 +84,7 @@ public class SelectOneByExamplePlugin extends PluginAdapter { // interface 增加方法 interfaze.addMethod(method); + logger.debug("itfsw(查询单条数据插件):"+interfaze.getType().getShortName()+"增加SelectOneByExample方法。"); return true; } @@ -98,8 +98,6 @@ public class SelectOneByExamplePlugin extends PluginAdapter { */ @Override public boolean sqlMapDocumentGenerated(Document document, IntrospectedTable introspectedTable) { - logger.debug("itfsw:生成表"+introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime()+"("+ (introspectedTable.hasBLOBColumns() ? "有" : "无")+"Blob类型)的mapping.xml对应SelectOneByExample方法..."); - //数据库表名 String tableName = introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime(); @@ -178,6 +176,7 @@ public class SelectOneByExamplePlugin extends PluginAdapter { // 添加到根节点 document.getRootElement().addElement(selectOneElement); + logger.debug("itfsw(查询单条数据插件):"+introspectedTable.getMyBatis3XmlMapperFileName()+"增加SelectOneByExample方法("+(introspectedTable.hasBLOBColumns() ? "有" : "无")+"Blob类型))。"); return true; }