bes2008/sqlhelper

Oracle 排序加分页的语句不正确(4.0版本)

Closed this issue · 6 comments

在mybatis环境下测试排序加分页,生成的语句不正确
Preparing: SELECT * FROM (SELECT BUSINESS_METHOD, BUSINESS_NAME, CLIENT_TYPE, EXECUTION_TIME, FAILURE_MESSAGE, ID, IP, IS_SUCCESS, NAME, OPERATE_CONTENT, OPERATE_TIME, ORGANIZATION, URL, USERNAME FROM SYS_LOG WHERE USERNAME = ?) sqlhelper_rowtable_ WHERE rownum <= ? ORDER BY OPERATE_TIME

没有 指定 offset 吧

@test
public void testFindByUsername(){
String username = "superadmin";
PagingRequest pagingRequest = SqlPaginations.preparePagination(1,5,"OPERATE_TIME");
List sysLogEntityList = sysLogService.findByUsername(username);
System.out.println(pagingRequest.getResult().getTotal());
}
这是我的测试代码,请问offset指的是什么?我这段代码在mysql数据库环境下生成的语句是正确的

顺序搞反了,先加排序SQL,后加分页SQL段,目前是颠倒了。
是程序的Bug

目前大多数人只是在用分页,排序估计都是程序里写固定的。
所以一直没有发现这点

改用4.0.2 版本吧。

好的,谢谢