JFinal代码生成改进,MetaBuilder增加方法

@JFinal 波总,在代码生成时,如果需要跳过某些表,需要自己实现MetaBuilder,覆写isSkipTable方法。建议可以增加一个方法,避免仅仅为了覆写isSkipTable方法而新创建一个类。具体实现如下:

public class MetaBuilder {

    protected Predicate<String> skipPredicate = null;

    protected boolean isSkipTable(String tableName) {
        boolean isSkip = false;
        if (skipPredicate != null) {
            isSkip = skipPredicate.test(tableName);
        }
        return isSkip;
    }
    /**
     * 指定过滤表规则
     * <p><b>用法</b>:new MetaBuilder(dataSource).setSkipPredicate((Predicate<String>) tableName -> tableName.startsWith("bpm_"));</p>
     * @param predicate
     * @return
     */
    protected MetaBuilder setSkipPredicate(Predicate<String> predicate) {
        skipPredicate = predicate;
        return this;
    }
}

仅为建议,若无必要,忽略即可。

评论区

JFinal

2019-06-25 10:23

这是个好建议,忘了 jfinal 现在是基于 java 8, 可以用 lamba 了

JFinal

2019-06-25 12:36

jfinal 4.3 已添加 filter 方法来支持这个功能,具体用法如下:
generator.setMetaBuilder(new MetaBuilder(dataSource).filter(
tableName -> {
return tableName.startsWith("SYS_");
})
);

generator.generate();

实现代码:
https://gitee.com/jfinal/jfinal/commit/1e6c364dccb6fead3d26d3380f6f1e33d3dec387

冰雨

2019-06-25 13:14

这速度,太赞了!