【问题标题】:How to get the MySQL query results into a ArrayList<object>如何将 MySQL 查询结果放入 ArrayList<object>
【发布时间】:2016-05-05 17:07:21
【问题描述】:

我有导致多列的 SQL 查询。我想执行这个查询并将结果放入我的ArrayList&lt;&gt; 而不是ResultSet。 我的列定义类是

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>;

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

【问题讨论】:

  • 使用像 Hibernate、JDO 等 OR 映射器或自己做。

标签: java mysql sql arraylist resultset


【解决方案1】:

如果您想自己实现,请使用以下代码 sn-p。它将结果集转换为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 等。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      你应该使用像 Hibernate 这样的 OR 映射器。感谢 POJO 课程,您可以随心所欲。 一些读数:

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

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

      【讨论】:

        【解决方案4】:

        将括号“()”添加到代码中的这一行,使其如下所示:

        ArrayList&lt;Record&gt; recordData = new ArrayList&lt;Record&gt;();

        【讨论】:

          猜你喜欢
          • 2018-03-16
          • 2015-12-04
          • 2018-05-26
          • 2021-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多