@Override
    public boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable) {
        // 方法生成 selectOneByExample
        Method selectOneMethod = JavaElementGeneratorTools.generateMethod(
                METHOD_SELECT_ONE_BY_EXAMPLE,
                JavaVisibility.DEFAULT,
                JavaElementGeneratorTools.getModelTypeWithoutBLOBs(introspectedTable),
                new Parameter(new FullyQualifiedJavaType(introspectedTable.getExampleType()), "example")
        );
        commentGenerator.addGeneralMethodComment(selectOneMethod, introspectedTable);

        // hook
        if (PluginTools.getHook(ISelectOneByExamplePluginHook.class).clientSelectOneByExampleWithoutBLOBsMethodGenerated(selectOneMethod, interfaze, introspectedTable)) {
            // interface 增加方法
            FormatTools.addMethodWithBestPosition(interfaze, selectOneMethod);
            logger.debug("itfsw(查询单条数据插件):" + interfaze.getType().getShortName() + "增加selectOneByExample方法。");
        }
        return super.clientSelectByExampleWithoutBLOBsMethodGenerated(selectOneMethod, interfaze, introspectedTable);
    }
@Override
    public boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable) {
        
        Method selectOneMethod = JavaElementGeneratorTools.generateMethod(
                METHOD_SELECT_ONE_BY_EXAMPLE,
                JavaVisibility.DEFAULT,
                JavaElementGeneratorTools.getModelTypeWithoutBLOBs(introspectedTable),
                new Parameter(new FullyQualifiedJavaType(introspectedTable.getExampleType()), "example")
        );
        commentGenerator.addGeneralMethodComment(selectOneMethod, introspectedTable);

        
        if (PluginTools.getHook(ISelectOneByExamplePluginHook.class).clientSelectOneByExampleWithoutBLOBsMethodGenerated(selectOneMethod, interfaze, introspectedTable)) {
            
            FormatTools.addMethodWithBestPosition(interfaze, selectOneMethod);
            logger.debug("itfsw(查询单条数据插件):" + interfaze.getType().getShortName() + "增加selectOneByExample方法。");
        }
        return super.clientSelectByExampleWithoutBLOBsMethodGenerated(selectOneMethod, interfaze, introspectedTable);
    }
@ Override public boolean clientSelectByExampleWithoutBLOBsMethodGenerated ( Method method , Interface interfaze , IntrospectedTable introspectedTable ) { // 方法生成 selectOneByExample Method selectOneMethod = JavaElementGeneratorTools . generateMethod ( METHOD_SELECT_ONE_BY_EXAMPLE , JavaVisibility . DEFAULT , JavaElementGeneratorTools . getModelTypeWithoutBLOBs ( introspectedTable ) , new Parameter ( new FullyQualifiedJavaType ( introspectedTable . getExampleType ( ) ) , "example" ) ) ; commentGenerator . addGeneralMethodComment ( selectOneMethod , introspectedTable ) ; // hook if ( PluginTools . getHook ( ISelectOneByExamplePluginHook . class ) . clientSelectOneByExampleWithoutBLOBsMethodGenerated ( selectOneMethod , interfaze , introspectedTable ) ) { // interface 增加方法 FormatTools . addMethodWithBestPosition ( interfaze , selectOneMethod ) ; logger . debug ( "itfsw(查询单条数据插件):" + interfaze.get y e().getSh o rtName( ) +  "增加selectOn e B E ample方法。"); } return super . clientSelectByExampleWithoutBLOBsMethodGenerated ( selectOneMethod , interfaze , introspectedTable ) ; }
Java Client Methods 生成
具体执行顺序 http://www.mybatis.org/generator/reference/pluggingIn.html
@param method
@param interfaze
@param introspectedTable
@return
Java Client Methods 生成 具体执行顺序 http : // www . mybatis . org / generator / reference / pluggingIn . html