2022-02-14 10:43
@北流家园网 config.getDialect().takeOverDbPaginate 和前面分享的数据库增加乐观锁扩展差不多,再重写isTakeOverModelPaginate() 和takeOverDbPaginate方法就可以了
2022-02-14 10:41
@山东小木 老师是的,分页的总行,和以前的SQL查询结果是一样的,在select count(*)位置做了if判断,其他都是一样的。
本来想对paras.toString再md5一下做个全局后台缓存来着,写代码时觉得前端传入值更方便轻量些,就让传入值了
2022-02-14 09:57
@北流家园网 是的缓存了,只不过是缓存在前端了,和缓存一样,增删都需要更新缓存,需要置为null才会获取最新的
2022-02-13 15:08
@山东小木 支持前端传入,用法和以前一模一样,不用太多改变,如果Action里面只有一个分页查询,可以使用拦截器@Before(PaginateInterceptor.class) 参数有totalRow就行。
如果有多个分页处理,手动MyDbPro.paginate(传入总行数即可。
由前端缓存 总行数,查询条件改没改变,前端自然是知道的,前端查询条件如果改变,传入的总行数传null或者不传值即可,都会刷新最新的总行数
2022-02-11 11:38
@山东小木 是的,我遇到一些慢SQL有因为 select count(*) 导致CPU暴涨的,在索引已经加过的情况下,就是去掉paginate,手动find查询再二次包装返回对象了。
应该是可以扩展paginate方法的,但毕竟我没有那么多慢SQL,业务哪个点遇到了就单处理了,没做封装。确实可以瞅瞅paginate方法看咋简单的扩展一下
2022-02-10 15:18
@山东小木 o(╥﹏╥)o 没啥经验,设计表业务的时候尽量避免大表出现,做好索引。。。如果CPU还飙升,就根据查询条件缓存总行数,别总去count*,手动find分页就行。。。如果还飙升,充钱就行。。。我一般优先充钱解决问题。。。
2022-01-17 12:09
@pandalam 得,你还是没看懂我说的,你改成:
renderJson("resule", validateCaptcha("captchaCode"));
就好使
2022-01-14 15:02
@happyboy 我们也有老项目,,,以前的项目一个功能就是一个页面,,,也没有抽取,,,真是懒得改了,费时间,还有稳定性问题。。。新项目用新架构,没毛病哈哈 ,老项目还是用Tomcat靠谱些。。。