2017-11-13 18:26
@别人放弃我坚持Y 当然可以,站在 jfinal 的角度,jfinal 仅仅只是回调了你的 start() 与 stop() 方法而已
2017-11-13 16:44
@augustine02 空指针异常,通常是 activeRecordPlugin 没有启动成功,例如,如果是 web 项目,有没有 me.add(activeRecordPlugin) 添加到 web 项目的配置中
如果不是 web 项目,有没有手动 activeRecordPlugin.start(),这个在手册中有过说明
2017-11-13 11:08
@iiixxxiii Controller 中的方法已经非常之多了,尽可能不增加,确实有需要的全放在 CPI 这个类之中了
2017-11-13 10:54
@iiixxxiii jfinal 3.3 近期发布,这个版本可以通过 CPI.init(controller , ...) 来调用这个方法
现在你可以通过拦截器来做公共操作,例如 inv.getController().setServletRequest(...) 这样的都可以
2017-11-10 18:06
为了实现性能与功能的平衡,paginate 只支持普通 order by 的替换,而复杂 order by 用一下 paginateByFullSql 这个 API ,具体的用法可以看一下 jfinal 手册第 5.5 章节: 《5.5 paginate 分页支持》
大致原因如下:
1:分页需要生成 sql 去计算当前 sql 的总记录数据,而这个 sql 是不需要 order by 子句的,sql server、oracle 这些数据库甚至不支持 select count 带有 order by 子句,所以 order by 一定要移除
2:由于 sql 语句可以嵌套可以很复杂,如果想用正则表达式非常干净地移除 order by 子句,那么这个正则表达式就要写得非常复杂冗长,比复杂冗长更麻烦的是:经实测这个正则的执行效率会下降一到两个数量级
3:大部分的 order by 是比较简单的,所以为了兼顾性能功能,让 paginate 只支持简单 order by,其它情况用 paginateByFullSql 支持
2017-11-10 17:20
@芦苇 具体代码分享出来啊,在这里贴下代码,说不定很多人需要:jfinal.com/share
2017-11-10 17:02
@simplife 其实不需要手动添加 druidPlugin.start(),而是要 me.add(druidPlugin),否则 jfinal 框架没法回调你的 druidPlugin.start(),就只能自己调用了