![](/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.