要列出的結果集
回答
步驟,你可以遵循: -
首先,你需要有一個
List<String>
將存儲所有人的名字。聲明這樣的: -List<String> nameList = new ArrayList<String>();
現在,你把所有的記錄,獲取並存儲在
ResultSet
。所以我認爲你可以遍歷ResultSet
並從中得到每個values
。您需要使用ResultSet#getString
來獲取name
。現在,每次您獲取一條記錄時,獲取
name
字段並將其添加到您的列表中。while(resultSet.next()) { nameList.add(resultSet.getString("name")); }
現在,因爲你沒有給你足夠的
DTO
信息,讓你的一部分需要了解,如何將這些ArrayList
添加到您的DTO
。以上
list
只包含name
,而不是surname
,因爲您只需要name
。但是,如果您同時需要,則需要創建自定義DTO(FullName)
,即 包含name
和surname
作爲字段。而從 每ResultSet
實例並把它添加到List<FullName>
我必須做的是從名爲CUSTOMER的表中讀取2列。 列名是NAME和SURNAME。 我必須將這些信息存儲在我的DTO中。 然後從我的主課我必須寫的名字和姓氏到這種格式的文件: Rohit Jain | Brain Agnew |安德魯湯普森 即時通訊仍然是新的Java所以不知道如何做到這一點,目前它寫入文件,但是這樣: Rohit,Brain,Andrew | Jain,Agnew,湯普森 我該如何解決這個問題? – user1759247
@ user1759247正如我所說。創建另一個DTO - 「FullName」,其中包含兩個字段 - 「名稱」和「姓氏」。現在,對於每個ResultSet,您需要創建一個「FullName」DTO實例,並將其添加到「List」中。並且你的List將被聲明爲: - 'List
@ user1759247然後當你從你的'List'中獲取數據時,使用它:''list.get(0).getName()+「」+ list。得到(0).getSurname()' –
它是。你有什麼嘗試?
要訪問數據庫,您需要use JDBC並執行查詢,給您一個ResultSet
。
我將創建一個名爲FullName
的類,其中包含2個字符串字段name
和surname
。只需使用
rs.getString("NAME"); // column name
rs.getString("SURNAME");
例如
List<FullName> fullnames = new ArrayList<FullName>();
while (rs.next()) {
fullnames.add(new FullName(rs));
}
請注意,我通過ResultSet
對象直接填充對象。你可以選擇實現一個帶2個名字段的構造函數。
還要注意,我正在創建一個Fullname
對象。所以名字/姓氏保持分開,你可以在以後自由地添加首字母等。您可能更願意重命名此Person
,這會讓您可以自由添加額外的屬性。
JDBC遺憾的是並沒有提供任何的方式來方便地做到這一點的一個班輪。但也有其他的API,如jOOQ(聲明:我身後jOOQ公司工作):
List<DTO> list =
DSL.using(connection)
.fetch("SELECT first_name, last_name FROM table")
.into(DTO.class);
List<DTO> list =
new JdbcTemplate(new SingleConnectionDataSource(connection, true))
.query("SELECT first_name, last_name FROM table", (rs, rowNum) ->
new DTO(rs.getString(1), rs.getString(2));
List<DTO> list =
new QueryRunner()
.query(connection,
"SELECT first_name, last_name FROM table",
new ArrayListHandler())
.stream()
.map(array -> new DTO((String) array[0], (String) array[1]))
.collect(Collectors.toList());
我已經使用Java 8作爲Spring JDBC/Apache DbUtils示例,但它也可以使用舊版本的Java來完成。
- 1. 要列表的結果集
- 2. 分組列的結果集
- 3. 結果集內的結果集
- 4. 按列搜索結果集
- 5. Java結果集最大列?
- 6. 別名列在結果集
- 7. 結果集中已應用不同結果的列的計數
- 8. 帶連接的結果列表的JDBI結果集映射?
- 9. 從結果集輸出較大的xml
- 10. 給出了意外的結果集?
- 11. 查詢結果作出的PK集羣
- 12. 結果集的getString拋出ArrayIndexOutOfBoundsException異常
- 13. Crystal Reports行計數器未給出空結果集的結果
- 14. mongodb的序列化的子集結果
- 15. 總是出現錯誤「結束結果集」,所有結果集已關閉
- 16. 結果集功能'結果集關閉'
- 17. 爲什麼要裁剪結果集?
- 18. 我需要多個結果集在JSP
- 19. 需要循環或迭代結果集
- 20. 顯示結果集列作爲列
- 21. t-sql單列結果集爲3列
- 22. 如何使用查詢列出基於命令的結果集
- 23. Convhull()沒有給出想要的結果。
- 24. Regexec()沒有給出想要的結果
- 25. Python:Loop沒有給出想要的結果
- 26. SQL:2列1的結果集
- 27. Management Studio中的結果集列寬度
- 28. 不同的結果子集列名
- 29. 的MySQL結果集組合列
- 30. MySQL列;一分爲二的結果集
是的,這是可能的。但是,你有什麼嘗試? –
1)[你有什麼嘗試?](http://www.whathaveyoutried.com/)2)*「添加到我的dto。」*什麼是'DTO'? –
@AndrewThompson數據傳輸對象..但我猜你知道嗎? :P –