@Override
    public void initialized(IntrospectedTable introspectedTable) {
        super.initialized(introspectedTable);
        this.enumColumns = new LinkedHashMap<>();
        String autoScan = this.getProperties().getProperty(PRO_AUTO_SCAN);
        // 是否开启了自动扫描
        if (StringUtility.stringHasValue(autoScan) && !StringUtility.isTrue(autoScan)) {
            // 获取全局配置
            String enumColumns = this.getProperties().getProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            // 如果有局部配置，则附加上去
            String tableEnumColumns = introspectedTable.getTableConfigurationProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            if (tableEnumColumns != null) {
                enumColumns = enumColumns == null ? "" : (enumColumns + ",");

                enumColumns += introspectedTable.getTableConfigurationProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            }

            if (StringUtility.stringHasValue(enumColumns)) {
                // 切分
                String[] enumColumnsStrs = enumColumns.split(",");
                for (String enumColumnsStr : enumColumnsStrs) {
                    IntrospectedColumn column = IntrospectedTableTools.safeGetColumn(introspectedTable, enumColumnsStr);
                    if (column != null) {
                        try {
                            EnumInfo enumInfo = new EnumInfo(column);
                            // 解析注释
                            enumInfo.parseRemarks(column.getRemarks());
                            if (enumInfo.hasItems()) {
                                this.enumColumns.put(column.getJavaProperty(), enumInfo);
                            }
                        } catch (EnumInfo.CannotParseException e) {
                            warnings.add("itfsw:插件" + EnumTypeStatusPlugin.class.getTypeName() + "没有找到column为" + enumColumnsStr.trim() + "对应格式的注释的字段！");
                        } catch (EnumInfo.NotSupportTypeException e) {
                            warnings.add("itfsw:插件" + EnumTypeStatusPlugin.class.getTypeName() + "找到column为" + enumColumnsStr.trim() + "对应Java类型不在支持范围内！");
                        }
                    }
                }
            }
        } else {
            for (IntrospectedColumn column : introspectedTable.getAllColumns()) {
                try {
                    EnumInfo enumInfo = new EnumInfo(column);
                    // 解析注释
                    enumInfo.parseRemarks(column.getRemarks());
                    if (enumInfo.hasItems()) {
                        this.enumColumns.put(column.getJavaProperty(), enumInfo);
                    }
                } catch (Exception e) {
                    // nothing
                }
            }
        }
    }
@Override
    public void initialized(IntrospectedTable introspectedTable) {
        super.initialized(introspectedTable);
        this.enumColumns = new LinkedHashMap<>();
        String autoScan = this.getProperties().getProperty(PRO_AUTO_SCAN);
        
        if (StringUtility.stringHasValue(autoScan) && !StringUtility.isTrue(autoScan)) {
            
            String enumColumns = this.getProperties().getProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            
            String tableEnumColumns = introspectedTable.getTableConfigurationProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            if (tableEnumColumns != null) {
                enumColumns = enumColumns == null ? "" : (enumColumns + ",");

                enumColumns += introspectedTable.getTableConfigurationProperty(EnumTypeStatusPlugin.PRO_ENUM_COLUMNS);
            }

            if (StringUtility.stringHasValue(enumColumns)) {
                
                String[] enumColumnsStrs = enumColumns.split(",");
                for (String enumColumnsStr : enumColumnsStrs) {
                    IntrospectedColumn column = IntrospectedTableTools.safeGetColumn(introspectedTable, enumColumnsStr);
                    if (column != null) {
                        try {
                            EnumInfo enumInfo = new EnumInfo(column);
                            
                            enumInfo.parseRemarks(column.getRemarks());
                            if (enumInfo.hasItems()) {
                                this.enumColumns.put(column.getJavaProperty(), enumInfo);
                            }
                        } catch (EnumInfo.CannotParseException e) {
                            warnings.add("itfsw:插件" + EnumTypeStatusPlugin.class.getTypeName() + "没有找到column为" + enumColumnsStr.trim() + "对应格式的注释的字段！");
                        } catch (EnumInfo.NotSupportTypeException e) {
                            warnings.add("itfsw:插件" + EnumTypeStatusPlugin.class.getTypeName() + "找到column为" + enumColumnsStr.trim() + "对应Java类型不在支持范围内！");
                        }
                    }
                }
            }
        } else {
            for (IntrospectedColumn column : introspectedTable.getAllColumns()) {
                try {
                    EnumInfo enumInfo = new EnumInfo(column);
                    
                    enumInfo.parseRemarks(column.getRemarks());
                    if (enumInfo.hasItems()) {
                        this.enumColumns.put(column.getJavaProperty(), enumInfo);
                    }
                } catch (Exception e) {
                    
                }
            }
        }
    }
@ Override public void initialized ( IntrospectedTable introspectedTable ) { super . initialized ( introspectedTable ) ; this . enumColumns = new LinkedHashMap <> ( ) ; String autoScan = this . getProperties ( ) . getProperty ( PRO_AUTO_SCAN ) ; // 是否开启了自动扫描 if ( StringUtility . stringHasValue ( autoScan ) && ! StringUtility . isTrue ( autoScan ) ) { // 获取全局配置 String enumColumns = this . getProperties ( ) . getProperty ( EnumTypeStatusPlugin . PRO_ENUM_COLUMNS ) ; // 如果有局部配置，则附加上去 String tableEnumColumns = introspectedTable . getTableConfigurationProperty ( EnumTypeStatusPlugin . PRO_ENUM_COLUMNS ) ; if ( tableEnumColumns != null ) { enumColumns = enumColumns == null ? "" : ( enumColumns + "," ) ; enumColumns += introspectedTable . getTableConfigurationProperty ( EnumTypeStatusPlugin . PRO_ENUM_COLUMNS ) ; } if ( StringUtility . stringHasValue ( enumColumns ) ) { // 切分 String [ ] enumColumnsStrs = enumColumns . split ( "," ) ; for ( String enumColumnsStr : enumColumnsStrs ) { IntrospectedColumn column = IntrospectedTableTools . safeGetColumn ( introspectedTable , enumColumnsStr ) ; if ( column != null ) { try { EnumInfo enumInfo = new EnumInfo ( column ) ; // 解析注释 enumInfo . parseRemarks ( column . getRemarks ( ) ) ; if ( enumInfo . hasItems ( ) ) { this . enumColumns . put ( column . getJavaProperty ( ) , enumInfo ) ; } } catch ( EnumInfo . CannotParseException e ) { warnings . add ( "itfsw:插件" + E u TypeStatusPlugin.cla s s.get T ypeName() + " 有 到column为" + enumColumns t .trim() + "对应格 式 的注释的 字 段 " ; } catch ( EnumInfo . NotSupportTypeException e ) { warnings . add ( "itfsw:插件" + E u TypeStatusPlugin.cla s s.get T ypeName() + " 到 olumn为" + enumCol m sStr.trim() +  " 对应Ja v a 型 在支持范围内！"); } } } } } else { for ( IntrospectedColumn column : introspectedTable . getAllColumns ( ) ) { try { EnumInfo enumInfo = new EnumInfo ( column ) ; // 解析注释 enumInfo . parseRemarks ( column . getRemarks ( ) ) ; if ( enumInfo . hasItems ( ) ) { this . enumColumns . put ( column . getJavaProperty ( ) , enumInfo ) ; } } catch ( Exception e ) { // nothing } } } }
具体执行顺序 http://www.mybatis.org/generator/reference/pluggingIn.html
@param introspectedTable
具体执行顺序 http : // www . mybatis . org / generator / reference / pluggingIn . html