簡體   English   中英

在ResultSet Java中對數據進行排序

[英]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中的所有數據提取到一個集合中(並可能將數據映射到域對象),並使用帶有適當ComparatorCollections.sort()方法對其進行排序

不建議在查詢后進行排序(即,當您獲得ResultSet時)。 您應該始終以在SQL Server而不是代碼本身上為目標。

ResultSet是某種Iteration對象,這意味着您只能一個一個地移動。 因此,為了對其進行排序,您首先需要將數據移到一個Collection中,然后才對它使用Sorting。 與SQL排序相比,這是開銷,可以避免。

通過遍歷結果並將其添加到新列表中,從ResultSet獲取ArrayList 然后使用Collections.sort(Collection, Comparator)對結果進行排序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM