是否有直接的方法從ResultSet中獲取行中的所有元素作爲字符串? JDBC作爲字符串從數據庫中的行(JDBC)
回答
我必須問 - 爲什麼你需要類似的東西?
不,這是不可能的 - 無論如何,您至少需要撥打getString()
一次。你可以做的最好的事情是在SQL中連接你的字段,例如
SELECT col1 || ', ' || col2 || ', ' || col3 ... FROM my_table
and call resultSet.next().getString(1)
to get that。
更新(基於評論) 我不認爲(這取決於你的JDBC驅動程序和數據庫,真的 - 你必須衡量找出)有介於兩者之間的數據量很大的不同通過列與一個連接字符串發送數據(從數據庫到您的應用程序)。事實上,後者可能甚至會更昂貴,如果你有數字/日期,因爲他們可能會佔用更多字節格式爲文本。
有時候需求很難相信!但它們仍然存在:) 我需要使用tcp/ip套接字逐行輸出數據,並且正在尋找最有效的解決方案。 這會更有效,然後在Java端使用StringBuffer進行連接? – Vishal 2009-10-27 22:38:03
如果你想讓它們真正具有高性能,我會建議使用存儲過程,並將整個事件作爲clob/blob或任何適用的東西返回。 – OscarRyz 2009-10-27 22:43:45
但是你正在從你的**應用程序**流數據,對嗎?從ResultSet中逐字段讀取它並將其格式化爲Java中的字符串。它可能會或可能不會比在數據庫端進行連接更快(只有分析會告訴),但它肯定會更乾淨。例如,諸如數字/日期格式之類的問題可以想到。 – ChssPly76 2009-10-27 22:48:40
有沒有一個方法調用做到這一點,但你可以使用像這樣建立一個字符串:
StringBuilder sb = new StringBuilder();
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
for (int i = 1; i <= numberOfColumns; i++) {
sb.append(rs.getString(i));
if (i < numberOfColumns) {
sb.append(", ");
}
}
String data = sb.toString();
這是非常接近的,但是需要一點點調整。它應該包裹在while(rs.next()) – anon58192932 2012-09-13 01:45:48
您可以使用BasicRowProcessor
從Apache commons, Dbutils
ResultSet rs = ....
RowProcessor rp = new BasicRowProcessor();
Map m = rp.toMap(rs);
String s = m.toString();
,你會然後爲:
{ id = 1, name = Oscar, lastName = Reyes }
等
如果你想擺脫columNames的:
String s = m.values().toString();
- 1. WCF:DeSerialize字符串數據庫作爲int
- 2. 從數據庫印刷爲字符串
- 3. 從字符串計算的id作爲數據庫密鑰
- 4. 字符串從數組的數據庫
- 5. 存儲浮點數作爲字符串中的Android數據庫
- 6. 使用JDBC Java字符串連接到PHP的mysql數據庫
- 7. 字符串作爲SQL數據庫中的主鍵
- 8. Big Endian字節與字符串作爲字符串 - 字符串數據庫中的鍵
- 9. JDBC連接字符串可以指定多個數據庫嗎?
- 10. 從數據庫中選擇一行字符串
- 11. 從數據庫獲取字符串
- 12. Django從數據庫拆分字符串
- 13. 從數據庫返回字符串
- 14. 枚舉爲數據庫中的字符串和數字
- 15. 呼應,從數據庫中的圖像顯示一串字符從數據庫
- 16. PostgreSQL的JDBC空字符串當作BYTEA
- 17. 將數據表/數據行[]列從字符串轉換爲int
- 18. OpenEdge 10.1C返回datetimetz作爲JDBC中的非標準字符串
- 19. 數據庫retreival作爲字符串的Android
- 20. 比較數據庫從數據庫到字符串
- 21. 將字符串從RSS提要轉換爲數據庫的DateTime
- 22. 字符串數據作爲JSON Swift3
- 23. 如何從java訪問JDBC ODBC數據庫中的行計數
- 24. 將二進制數據作爲字符串存儲在Web Sql數據庫中
- 25. 更改數據庫中的連接字符串數據庫
- 26. 從單個數據庫獲取數據的ID和字符串
- 27. 如何將字段從MySQL數據庫存儲爲PHP中的字符串?
- 28. 作爲枚舉或操作的數據庫建模字符串爲布爾值?
- 29. 整數與JDBC/ODBC的字符串sql
- 30. 從SQL中的多個數據庫行中刪除特定的字符串
你怎麼會想表示的數據? – skaffman 2009-10-27 22:20:23
String data =「value1,value2,value3」但不使用getString(「」)或類似的方法並連接它們! – Vishal 2009-10-27 22:21:53
爲什麼不想連接或使用StringBuffer來創建自己的String? – 2009-10-27 22:27:01