簡體   English   中英

jdbc-Java-方法查詢

[英]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個表創建不同的類: rid 然后,當我查詢數據庫時,我創建了對象並將其添加到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.

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