我无法将数据从数据库映射到我的对象。以下是我的对象设置方式。
public class Report{
private int reportID;
private String reportName;
private List<Article> articles = new ArrayList<>();
// getters and setters
}
public class Article{
private int articleID;
private String articleName;
// getters and setters
}
数据库中的数据采用以下格式:
ReportID | Report Name | ArticleID | ArticleName
-----------------------------------------------------
1 Name1 1 Name1
1 Name1 2 Name2
1 Name1 3 Name3
2 Name2 1 Name1
2 Name2 2 Name2
3 Name3 1 Name1
可以看出,每份报告都可以有1-n篇文章。这体现在pojo结构中 我的问题是将结果集映射到对象。
我的DAO有以下方法:
public List<Report> getReports(){
String SQL = "Select * FROM report_table";
List<Report> reports = jdbcTemplateObject.query(SQL, new RowMapper<Report>(){
@Override
public Report mapRow(ResultSet rs, int rowNum) throws SQLException{
// here I need to return each record
// but I need to add the articles to the record's list first!
return null;
}
});
return reports;
}
如何将文章映射到报告?