繁体   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