2019-01-10 15:32
@1174133584 本质上来说:
1:分页需要得到 totalRow、totalPage,也就是当前你这个 sql 分页时要得到总记录数与总页数,那么 jfinal 需要生成一条 sql 来获取
2:生成的这条 sql 就需要将你的 select 部分给替换成 select count (*) 语句,这样就会丢失掉你在 select 中带的一些参数
3:jfinal 以前的版本曾经试图用正则替换来精准解决这个问题,但性能差了两个数量级,权衡下,提供了 paginateByFullSql 以及文档说明来辅助大家来解决
2019-01-10 15:29
@lyf78062919 这个认知十分深入,从来没有人这么有耐心的研究过这个问题,贴子已收藏,下次有同学需要直接给贴子链接,谢谢
2019-01-10 12:11
@lyf78062919 看到你的这个分析,这个情况应该是 IDEA 进行的是 build 动作,而不是 make 动作, make 与 build 是有很大差别的:make 只编译改变过的源代码,builder 是对整个源码进行编译
此外,还有一个 compile , 这个是对指定的源代码进行编译,无论源代码有没有被个改过
因此,在开发阶段,最划算最合理的是要实现 auto make,或者叫 auto compile 也可以,build 动作会删除所有被编译的 class 文件然后编译所有源码