systemService.findForJdbc(sql, page, rows) 排序可能有问题
本帖最后由 xilele 于 2018-1-29 09:53 编辑jeecg 3.7.2 数据库为MariaDB。
发现可能的问题(?)
描述疑问:
程序中 使用了 systemService.findForJdbc(sql, page, rows) 这句结果排序则有问题
sql 语句中 有 order by ??? DESC
结果集好像只按 ASC排出。有同事碰到没?
web\system\controller\core\DepartController.java
private synchronized String getMaxLocalCode(String parentCode)
............
sb.append(" ORDER BY org_code DESC");
List<Map<String, Object>> objMapList = systemService.findForJdbc(sb.toString(), 1, 1);
String returnCode = null;
if(objMapList!=null && objMapList.size()>0){
returnCode = (String)objMapList.get(0).get("org_code");
}
return returnCode;
returnCode 返回 “A01”, 按照预期应该返回"A03",那么新增加一个公司,就为A04,而现在返回A01,新增就为A02
sb.append(" ORDER BY org_code DESC");
systemService.findForJdbc(sb.toString(), 1, 1);
A01 A02 A03=>A01
正确结果应该是
A03 A02 A01=> A03
类似问题代码,还有这些文件位置:
web\system\controller\core\DepartController.java
web\system\controller\core\SystemController.java
web\system\service\impl\CategoryServiceImpl.java
类似问题位置是什么意思? 本帖最后由 xilele 于 2018-1-27 13:27 编辑
admin 发表于 2018-1-26 15:25 static/image/common/back.gif
类似问题位置是什么意思?
它们中都包含有下面一样的代码:
sb.append(" ORDER BY org_code DESC");
List<Map<String, Object>> objMapList = systemService.findForJdbc(sb.toString(), 1, 1);
String returnCode = null;
if(objMapList!=null && objMapList.size()>0){
returnCode = (String)objMapList.get(0).get("org_code");
}
return returnCode;
备注:
数据库为MariaDB
版本 MySQL Server: 10.2.1-MariaDB 你查看下打印出来SQL结果 novel608 发表于 2018-1-27 14:10 static/image/common/back.gif
你查看下打印出来SQL结果
就是根据运行结果,才提出以上问题。更改源代码后这里的问题解决。没有更改 systemService.findForJdbc(sql, page, rows) 的实现,根源问题 systemService.findForJdbc(sql, page, rows) 并没有解决掉。 本帖最后由 xilele 于 2018-1-28 16:46 编辑
novel608 发表于 2018-1-27 14:10 static/image/common/back.gif
你查看下打印出来SQL结果
就是根据运行结果,才提出以上问题。更改源代码后这里的问题解决。没有更改 systemService.findForJdbc(sql, page, rows) 的实现,根源问题 systemService.findForJdbc(sql, page, rows)按照order desc 不能实现的问题并没有解决掉。 本帖最后由 xilele 于 2018-1-29 10:47 编辑
novel608 发表于 2018-1-27 14:10 static/image/common/back.gif
你查看下打印出来SQL结果
看看结果,就很清楚了。代码就在那里。
http://www.jeecg.org/data/attachment/forum/201801/29/094858esschc1si4sbh91s.jpg
F12 看触发什么请求,你就知道代码位置 admin 发表于 2018-1-29 11:46 static/image/common/back.gif
F12 看触发什么请求,你就知道代码位置
不知道,是怀揣明白,还是装作糊涂,真是奇怪去了。问题不是很明白吗?还在绕什么弯子,直面可能的bug,方是程序员起码的正道意识。 admin 发表于 2018-1-29 11:46 static/image/common/back.gif
F12 看触发什么请求,你就知道代码位置
不知道,是怀揣明白,还是装作糊涂,真是奇怪去了。问题不是很明白吗?还在绕什么弯子,直面可能的bug,方是程序员起码的正道意识。
页:
[1]
2