paginate分页能否设置不统计总行数?或自己如何扩展这个分页方法?

paginate分页能否设置不统计总行数?或自己如何扩展这个分页方法?

原因:1、有的复杂的sql用这个paginate会报错。2、有些查询场景是:合计行里面还要求和、求平均值等,就需要自己再额外写条合计sql,这样只用执行2次。否则就要执行3次。

评论区

JFinal

2023-01-08 16:32

目前,建议做一个 DbExt.java 来扩展出这个功能, 底层依赖一下 Db、Model 中提供的功能

happyboy

2023-01-09 08:42

@JFinal 是否可以考虑预留一个自定义coutsql的接口,如果自己指定了求总数的sql,就按自己指定的来,在部分场景下,应该可以优化查询效率。

liugz

2023-01-09 09:05

@JFinal 可否给个大概的示例,还一直没自己扩展过Jfinal的功能

hb963724769

2023-01-09 10:40

zzutligang

2023-01-11 11:13

@happyboy 我记得分页查询提供的有一个最复杂的方法,就是可以自己写count语句。public Page paginateByFullSql(int pageNumber, int pageSize, String totalRowSql, String findSql, Object... paras)和public Page paginateByFullSql(int pageNumber, int pageSize, boolean isGroupBySql, String totalRowSql, String findSql, Object... paras)这两个函数可以用吧

happyboy

2023-01-16 08:58

@liugz 其实根据jfinal已经提供的数据查询功能,根据自己需求组合一个方法就行。把分页的逻辑自己用已有接口封装一遍。就像一开始用jdbc自己封装一个分页方法一样。