2021-01-21 01:01
@liugz 其实是支持的, MetaBuilder 中提供了一个 skip 方法,可以这样:
MetaBuilder builder = new MetaBuilder(...);
builder.skip( t -> {
return ! tableNameHashSet.contains(t) ;
});
Generator gen = new Generator(...);
gen.setMetaBuilder(builder);
gen.generate();
skip 方法支持你传入一个函数,返回 true 表示跳过不当前 table 不处理,随心所欲定制
2021-01-19 22:34
@prelove class java.time.LocalDateTime 不能转化为 java.util.Date,单步调试看是哪行代码抛出的
然后贴出代码来,改进一下就可以了
2021-01-19 22:32
你的建议:"根据list里的Model或则Record,去取对应表里的所有字段,然后拼接成像"
这个应该是不好解决,我举个例子,假定有个表是 table_x, 字段有三个 (id, x, y)
1:假定字段 id、x 不能为 null ,也就是说 insert 语句必须要给定值
2:假定字段 y 可以为 null,你可以指定值也可以不指定
3:有时候 y 字段的值你是知道的,所以你可以指定,但有时候你不知道该指定为什么值
以上情况下,如果 jfinal 自做主张,生成的 sql 包含字段 y, 那么有些不指定 y 值的 Record/Model 该放入什么值?
其实你的需求,使用 Db.batch(...) 手动指定 sql 也是可以的,方法原型如下:
public int[] batch(String sql, String columns, List modelOrRecordList, int batchSize)
2021-01-19 15:54
fatjar 模式改配置文件不太方便,这个分享很有用,赞一个
此外, jfinal undertow 还提供了五个参数的命令行支持,而且是优先于 undertow.txt 支持的,具体代码在这里:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/UndertowServer.java#L362
注意看 loadCommandLineParameter() 方法上的注释说明,具体的用法如下:
java -Dundertow.port=8080 -Dundertow.host=0.0.0.0 -jar jfinal-club-release.jar
以上示例可以传入 port 、 host 两个参数,而且这两个参数拥有最高的优先级
一共有五个参数可以这样来传递:
port、host、resourcePath、ioThreads、workerThreads
传参注意事项:
1:传参规则由 java 命令行给定,与 jfinal undertow 项目完全无关
2:传参以 "-D" 为前缀,并且该前缀与后方的参数名之间不能有空格
3:参数名与参数值中间用等号字符分格,且等号前后不能空格
2021-01-16 15:29
@zhangtianxiao PathScanner 只扫描 controller,不支持内部类的扫描
2021-01-16 15:28
@zhangtianxiao 你的 Model 已经生成了 baseModel ,为啥还要:
SerializeConfig.getGlobalInstance().put(type, value);
fastjson 不走 getter 方法,你的 model 中的字段的下划线怎么处理?