代码拉取完成,页面将自动刷新
sql 为类似如下型式
select id,name from user group by dept_id
使用Model.paginate(page,pageSize,selectSql,whereSql)
最后得出的查询记录总数sql为如下sql
select count(*) from user group by dept_id
结果存在问题,我现在是直接修改了源代码Model类的307行
改成这样了
String totalRowSql = "select count(*) from ( select 1 " + config.dialect.replaceOrderBy(selectAndSqlExceptSelect[1]) +") a";
相比原来的代码
String totalRowSql = "select count(*) " + config.dialect.replaceOrderBy(selectAndSqlExceptSelect[1]);
查询效率上比会多一起全量扫描,但是能防止group by 的bug产生
明天早上升级到 jfinal 2.2,这个问题已经在这版本中更新了,明天关注一下
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
@明日的乌鸦 现在可以通过升级到 jfinal 2.2 来解决问题了:http://www.oschina.net/news/70001/jfinal-2-2
状态更改为 已关闭
太棒了,赶紧下载试试
已经试过了,并读了下代码,实现非常好,不用改任何代码就可以完美兼容
List result = Db.query(config, conn, totalRowSql, paras);
int size = result.size();
if (isGroupBySql == null) {
isGroupBySql = size > 1;
}
long totalRow;
if (isGroupBySql) {
totalRow = size;
} else {
totalRow = (size > 0) ? ((Number)result.get(0)).longValue() : 0;
}
if (totalRow == 0) {
return new Page<M>(new ArrayList<M>(0), pageNumber, pageSize, 0, 0); // totalRow = 0;
}
登录 后才可以发表评论