2016-07-27 17:37
@bufan 绕开了paginate 方法,而是使用 Db.queryLong(...) 以及 model.find(...) 方法查询当前页的内容,前面是手误打错字了,本意是指 "model.find(...)"
2016-07-27 16:42
@bufan jfinal 2.2 引入了 BaseModelGenerator,为 model 生成 getter、setter 方法,除了开发者喜欢使用以外,还有一个很重要的原因是支持一些第三方的,依赖于 getter、setter方法的工具或框架。当有了 getter 以后,如果 getAttrValues() 不添加下划线,会被认定为一个 getter 方法来处理,引来一些不必要的问题。
例如 Fastjson 在转换的时候会先将一些常规则 getter 方法得到的数据转成 json,然后再会将 getAttrValues() 得到的数据再转一次,这是没有必要的
2016-07-27 16:37
@bufan order by 替换使用的正则无法覆盖掉那些比较偏的用法,例如 order by 中用到一些 sql 函数的情况,造成错误。如果加强正则的匹配能力,则性能急剧下降,所以对于此类 sql,可以使用一下 Db.queryLong(...) 查询总记录数,然后再使用 model.find(...) 方法查询当前页的数据,实现分页的功能。相当于是多写几行代码来代替 paginate 的功能