2014-01-14 22:36题主

mysql采用数据库服务器端分页的问题

由于mysql的start是从0开始的,而不是从1开始,所以想出现了少了一笔数据,请教下这个是怎么处理的?
我看到前台传送的start=0,limit=15
但是后台执行的时候变成了start=1,limit=15
然后sql里的排序部分也没了..

SELECT * FROM T_SYS_VARIABLE WHERE IS_DELETE='N' AND VARIABLE_KEY LIKE {?varKey?} AND VARIABLE_NAME LIKE {?varName?} AND VARIABLE_VALUE LIKE {?varValue?} {#sql.orderBy#} limit {?integer.start?},{?integer.limit?}

执行时sql:
SELECT * FROM T_SYS_VARIABLE WHERE IS_DELETE='N' AND VARIABLE_KEY LIKE ? AND VARIABLE_NAME LIKE ? AND VARIABLE_VALUE LIKE ?  limit ?,?
参数:%%,%%,%%,1,15

导致在最后少了一笔数据

这个是哪里配置,还是我的store的proxy有问题?
2014-01-14 22:40#1
对了,这里的排序也没了..请教下是啥问题..
2014-01-16 10:57#2
使用{#start#}+1,{#end#}分页没有问题
{#sql.orderBy#}是前端传递的排序生成的SQL表达式,只要前台有排序信息,则该表达式肯定有效
2014-01-17 23:23#3
不好意思,平时没空一直在加班,今天才有空,吧我的demo模块发上来给你看下,帮忙看下,谢谢!

返回开发者社区