2018-03-09 11:23

fastjson 是通过 getter 方法来转 json 的,所以需要为关联过来的字段添加 getter 方法,这个显然不现实

这种情况可以用 jfinal 的 json 实现,方式如下:
JFinalJson.getJson().toJson(modelList);

2018-03-09 11:20

@Neoman 暴力删除前建议先做个备份,在出问题后还可以再恢复:
cp -a /usr/share/fonts /usr/share/font_bak

2018-03-09 11:17

@wumugulu 在第二步后面先用下面的命令切换到 jfinal-java8 分支:
git checkout jfinal-java8

其它步骤完全一样

2018-03-09 10:09

是对什么样的类进行验证? 是不是 model ?

2018-03-08 21:51

@Dreamlu 多来点这样的作品啊

2018-03-08 21:47

代码十分简洁,jfinal 周边精品项目,感谢分享

2018-03-08 19:44

jfinal 在查询时有没有类型问题,6 年来反馈查询问题的很少,难道只是生成 model 的时候有问题

还可以想到一个地方,那就是 TableBuilder 会有问题,这个是用于支持 Controller 的 getBean 与 getModel 的

感谢你的分享

2018-03-08 19:41

@陈朝 使用 DatabaseMetaData 这个是否可以得到正确的类型?

jfinal 以前用的 ResultSetMetaData 来获取 meta 信息,有很多原因,时间太久远了有些原因也不太记得了,我尝试回忆一下:
1:jfinal 最初版本是从支持 mysql 开始的,使用 ResultSetMetaData 可以使用其 getObject(int) 得到正确的类型,而不必去做类型转换,代码精简、性能最好

2:DatabaseMetaData 貌似只能获取到 int 型的对应 java.sql.Types 类中的类型数据,这个对不同的数据库有差别,所以 jfinal 就干脆利用不同数据库的 ResultSetMetaData.getObject(int) 方法让其自己决定类型,尽量不干预。 不同数据库会自动转成它想转成的类型

3:对于 TableBuilder 以及 com.jfinal.core 包下的 getModel getBean 的类型转换也有影响

4:或许 DatabaseMetaData 可以做得更好,但由于历史原因不敢轻易动这里,要保持兼容性,在未来或许要去尝试一下 DatabaseMetaData 的实现方法

2018-03-08 18:15

druid 相关配置不正确而已

2018-03-08 17:55

@flyinkeke 一般情况不建议这么玩,数据在业务层里处理,view 层只负责显示数据

个别情况可以这么用,例如做一个纯只有查询的纯报表系统,没有后端,只有模板

2018-03-08 16:33

@陈朝 扩展一下 ModelBuilder 与 RecordBuilder,参考一下这里:
https://gitee.com/jfinal/jfinal/tree/master/src/main/java/com/jfinal/plugin/activerecord/builder

扩展完以后,再配置一下:
new Sqllite3Dialect().setModelBuilder(new MyModelBuilder());

相应的 RecordBuilder 也可以扩展,还有 MetaBuilder 也可以继承来扩展,sqllite 不按 JDBC 标准走,只能扩展

2018-03-08 16:11

@wzj42685 jfinal 几乎所有数据库查询相关 API,只要是出现过 String sql 这个参数,后续都会带上一个 Object... paras 可变数量的参数,这个就是方便你填充针对问号占位符参数的,参数个数根据问号个数去变

多看下文档,节省所有人时间

2018-03-08 16:01

findByCache(..., ..., sql, user.getId());

2018-03-08 15:13

问题错误发布到了分享频道,随后会被删掉,请知悉