需要多个子操作的Java SQL操作

时间:2016-11-29 19:49:32

标签: java mysql

我有一个包含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);

0 个答案:

没有答案