如何将 MySQL 查询结果放入 ArrayList<object>

How to get the MySQL query results into a ArrayList<object>

我有 SQL 查询结果为多列。我想执行此查询并将结果放入我的 ArrayList<> 而不是 ResultSet。 我的 class 列定义是

public class Record{
    private String FileName;
    private String FileID;
    private String Loan;
    private String Page;
}

查询是:

String query = "SELECT FileName, FileID, loanNumnber, PageNumber FROM table";
ResultSet rs = stmt.executeQuery(query);

我想要 recordData 对象中的查询结果。

ArrayList<Record> recordData = new ArrayList<Record>;

请建议如何使用正确的映射直接填充数组列表。

你可以使用mybatis。 请使用ORM。

https://en.wikipedia.org/wiki/Object-relational_mapping

您应该像 Hibernate 一样使用 OR 映射器。谢谢 POJO 类 你可以随心所欲。 一些阅读:

http://www.tutorialspoint.com/hibernate/hibernate_examples.htm

http://www.mkyong.com/tutorials/hibernate-tutorials/

如果您想自己实现,请使用以下代码片段。它将结果集转换为 Record 对象并将其添加到 ArrayList.

Record record;
while(rs.next()){

     record = new record();

     String fileName  = rs.getString("FileName");
     String fileID = rs.getString("FileID");
     String loanNumnber = rs.getString("loanNumnber");
     String pageNumber = rs.getString("PageNumber");

    record.setFileName(fileName);
    record.setFileID(fileID);
    record.setLoan(loanNumnber);
    record.setPage(pageNumber);

    recordData.add(record)
}

rs.close();

否则,如果您想使用任何第三方框架,那么有很多选择,例如 Hibernate、iBatis 等

在代码的这一行中添加括号“()”,使其看起来像这样:

ArrayList<Record> recordData = new ArrayList<Record>();