2010-09-02 102 views

回答

2

JdbcTemplate只是執行您提供給它的execute方法的SQL,所以使用標準的SQL方法:ORDER BY

+0

所以如果我想COLUMN1排序表,表達式應該是這樣的: 的JdbcTemplate。執行(「select * from MyTable ORDER BY column1 ASC」 ? 或使用什麼方法代替執行? – sergionni 2010-09-02 15:23:28

+0

是的,這是正確的。排序應該由SQL查詢中的數據庫完成。使用'JdbcTemplate ''是執行'方法。 – 2010-09-03 07:57:56

1

有一對夫婦的方式,雖然JdbcTemplate的是附帶給他們。第一個是在你的查詢中包含一個「order by」子句。否則,你正在尋找你的呼叫返回的任何類型的集合。

1

數據庫表中的數據應該被認爲是無序的,您可以選擇具有特定順序的數據,並且使用SimpleJdbcTemplate優先於JdbcTemplate,使用SimpleJdbcTemplate.getJdbcOperations()也可以使用相同的方法。

例如此代碼段會給你COLUMN1所有值的有序列表,假設他們都是字符串

final SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(datasource); 
final List<String> data = jdbcTemplate.query("SELECT column1 FROM MyTable ORDER BY column1 ASC", new ParameterizedSingleColumnRowMapper<String>()); 
+0

我提到要訂購db表,不要得到有序列表 – sergionni 2010-09-03 07:33:05

+0

正如我所說,數據庫表中的數據應該被視爲**無序**,數據庫表是一組數據,而不是一個列表 – 2010-09-03 08:32:44