gpt4 book ai didi

java - jdbc-java-方法查询

转载 作者:行者123 更新时间:2023-11-29 09:18:01 26 4
gpt4 key购买 nike

我正在使用 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();
}

关于java - jdbc-java-方法查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com