JdbcTemplate queryForList, изменяющий порядок базы данных
Я использую queryForList
метод для извлечения данных для следующего sql.
String sql = "select * from my_table ORDER BY ? ? LIMIT ?, ?";
return jdbcTemplate.queryForList(sql,new Object[]{param1,param2,
param3,param4});
Я вижу, что порядок изменяется при возврате данных. Для подтверждения я попытался использовать простой JDBC следующим образом
try {
Connection conn = jdbcTemplate.getDataSource().getConnection();
//Sample values param1 -> field1, param2 -> asc/desc, param3 -> 0, param4 -> 25
String sql = "select * from my_table ORDER BY "+param1+" "+param2+" LIMIT "+param3+", "+param4;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println("Name = "+rs.getString("field1")+" Type = "+rs.getString("field2"));
}
} catch (SQLException e) {
e.printStackTrace();
}
Здесь оператор print выдает желаемый результат. Я хочу использовать queryForList
так как это соответствует нашим требованиям к формату данных. Как я могу убедиться, что заказ поддерживается в queryForList
?
0 ответов
Вы не можете передать заказ в качестве параметров - ORDER BY
?? Это приведет кORDER BY "firstSort", "secondSort"
скорее, чем ORDER BY firstSort, secondSort
.