Rae*_*vik 18 java sorting collections jdbc jdbctemplate
我正在使用
以下声明
jdbcTemplate.query("SELECT * FROM TABLE1 ORDER BY ? ?", colName, sortOrder);
Run Code Online (Sandbox Code Playgroud)当然这不起作用,因为变量绑定不应该仅为查询中的表达式的参数值指定列名.
那么......人们如何解决这个问题呢?只是在Java代码中进行排序似乎是一个简单的解决方案,但是因为我得到一个用于排序的列的变量字符串,并且一个变量告诉我排序顺序....这是一个丑陋的比较器条件数量到覆盖.这似乎应该是解决它的常见模式的常见问题......
Ole*_*nko 19
占位符?只能用于参数值,但不能用于列和排序顺序方向.因此,这里指出的标准方法是使用String#format()或类似的方法将列名和顺序值附加到查询中.
另一种选择是使用Spring Data JPA,您可以将您的方法作为参数提供给Sort类型的实例,该实例可以包含要排序的数据库所需的所有信息.
| 归档时间: |
|
| 查看次数: |
19124 次 |
| 最近记录: |