Jfinal sql order by 添加字段

 ORDER BY 

#para(work) 

DESC

最近遇到这样一个问题,在查询表的时候要排序的字段是一个变量。就像上边那样。

但这样做work传的值Jfianl Sql不能作为一个字段把它进行识别。比如你传了两个参数,work却不会被识别到,只会有一个问号。最终会报:java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1)这个错。这种情况有正确的传值方式吗?


评论区

fypshencheng

2018-08-06 18:32

问题已解决。
#para 指令所到之处永远是生成一个问号占位符,并不是参数的值,参数值被生成在了SqlPara对象的paraList属性之中,通过sqlPara.getPara()可获取。如果想生成参数值用一下模板输出指令即可:#(value)

JFinal

2018-08-06 22:05

@fypshencheng order by 不支持问号占位,所以 order by #para(...) 肯定是不可以的

fmpoffice

2020-08-23 11:23

@JFinal 那么怎么搞?order by需要变化直接拼接进去?

热门反馈

扫码入社