jfinal分页问题

jfinal分页 语句如下:

sql1: select a.*

sq2: from (xxx order by field)a

执行时 sql2解析出错 后面的 ")a" 丢失了。若改成

sq2: from (xxx )a order by field 则能正常执行,应该是下面这段代码有点小问题。上面的第一种写法,不够规范,但语法上是没问题的。

image.png

评论区

JFinal

2017-07-25 23:36

sql 的语法是极其自由的,如果要用正则去覆盖掉所有的 order by 情况,写出来的正则性能是非常之低的

因此,当出现很复杂的 order by 时,可以使用 paginateByFullSql(...) 这个方法进行分页,该方法将使用用户自行传入的完整 sql 进行分页,不再使用正则匹配去除 order by

热门反馈

扫码入社