[英]Sorting data in ResultSet Java
我已經獲得了一些查詢的ResultSet,例如:
select * from students order by roll
現在,是否可以執行等效查詢
Select * from students order by dob;`
在ResultSet上 ?
根據經驗(幾乎),可以在數據庫中完成的所有操作都應在此完成,因此您應該使用... ORDER BY <column1>, <COLUMN2>... ASC/DESC
對數據庫中的數據進行排序... ORDER BY <column1>, <COLUMN2>... ASC/DESC
但是,如果由於某種原因您不能這樣做,則應該將RS中的所有數據提取到一個集合中(並可能將數據映射到域對象),並使用帶有適當Comparator
的Collections.sort()
方法對其進行排序
不建議在查詢后進行排序(即,當您獲得ResultSet時)。 您應該始終以在SQL Server而不是代碼本身上為目標。
ResultSet是某種Iteration對象,這意味着您只能一個一個地移動。 因此,為了對其進行排序,您首先需要將數據移到一個Collection中,然后才對它使用Sorting。 與SQL排序相比,這是開銷,可以避免。
通過遍歷結果並將其添加到新列表中,從ResultSet
獲取ArrayList
。 然后使用Collections.sort(Collection, Comparator)
對結果進行排序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.