![](/img/trans.png)
[英]Method to not parse the whole table for an SQL Query in Java - JDBC
[英]jdbc - java - method query
我正在使用JDBC從兩個表中查詢MySQL數據庫以獲得特定記錄。
我的MySQL查詢示例是這樣的:
SELECT
r.name
, r.network
, r.namestring
, i.name
, r.rid
, i.id
, d.dtime
, d.ifInOctets
FROM router AS r
INNER JOIN interface AS i
ON r.rid = i.rid
INNER JOIN 1278993600_1_60 AS d
ON i.id = d.id
AND dtime BETWEEN 1279027200 AND 1279029000
WHERE r.network = "ITPN"
AND i.status = "active"
WHERE i.id BETWEEN 1418 AND 1518
現在可以添加我需要的所有特定記錄了:
r.name
, r.network
, r.namestring
, i.name
, r.rid
, i.id
, d.dtime
, d.ifInOctets
專門用於數組並將其打印到Excel工作表中?
我嘗試為3個表創建不同的類: r
, i
, d
。 然后,當我查詢數據庫時,我創建了對象並將其添加到ArrayList
,並打印到另一張紙上。 (目標是將其打印到Excel工作表中)
但是這種方法使我可以存儲和遍歷數百萬個對象。
是否有任何方法可以以更輕松,更省時的方式動態添加所有記錄並將其發送到工作表?
就像這樣:
PreparedStatement stmt = cnt.prepareStatement("...");
try {
/* ... */
ResultSetMetaData meta = stmt.getMetaData();
Object row[] = new Object[meta.getColumnCount()];
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
for (int i = 0; i < row.length; ++i) {
row[i] = rs.getObject(i+1);
}
processRow(row);
}
} finally {
stmt.close();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.