我有一个包含3列和大约11,000行的表。第一行是自动增量主键,后跟两个整数。这些整数是另一个表的主键ID,它具有我需要的信息。 (我正在寻找的信息是名字。)
我的计划是使用FileWriter将必要的信息输出到标准文本文件,每行由一行表示,如#34; user1,user2"。一旦完全处理了所有~11,000行,我想打印成功消息,然后终止程序。
问题是我不知道批量检索此信息的最佳方法,而不会跳过行。我还试图使用while循环,但是已经陷入循环,导致损坏。这是我最近的尝试,在完成之前终止:
//Code to get total number of rows in table
//
for(int i = 0; i < size; i++) {
statement1 = connect.createStatement();
rs1 = statement1.executeQuery("select * from table2 limit (i-1), 1");
while(rs1.next() {
int user1 = rs1.get("user1");
int user2 = rs1.get("user2");
statement2 = connect.createStatement();
StringBuilder builder = new StringBuilder();
rs2 = statement2.executeQuery("select * from table1 where id = user1");
while(rs2.next()) {
String name = rs2.get("name");
builder.append(name).append(", ");
}
rs3 = statement2.executeQuery("select * from table1 where id = user2");
while(rs3.next()) {
String name = rs2.get("name");
builder.append(name);
}
}
//Code here to write the row to file, ensure empty StringBuilder, and close necessary SQL
}
System.out.println("Successfully processed" + size + " rows!");
System.out.println("Terminating program");
System.exit(0);