是Spring MVC中需要的模型POJO吗?

时间:2017-07-22 17:18:19

标签: java spring spring-mvc dao

我目前正在使用Spring MVC应用程序,有两个表。

学生 (id,name)和出版物(student_id,journal)。

在我的GET请求中,我正在尝试请求给定学生ID的所有日记(字符串)。我相信在这种情况下,我可以在我的DAO中简单地执行以下操作而不使用任何模型:

@Override
public List<String> getAllJournals(String name) {
    String query = "SELECT journal FROM Publications INNER JOIN Student ON "
            + "Publications.student_id = Student.id WHERE Student.name=:name";

    Map<String,Object> params = new HashMap<String,Object>();
    params.put("name", name);
    List<String> journals = jdbcTemplate.queryForList(query, params, String.class);
    return journals;
}

我应该将POJO用于​​Publication类还是Student类?这不是多余的吗?

1 个答案:

答案 0 :(得分:0)

拥有POJO是一个好主意,因为它们允许您使用其属性,而不是为您要使用的每个属性进行归属,就像您在此处所做的那样:

List<String> journals = jdbcTemplate.queryForList(query, params, String.class);

即使它看起来像是一种“冗余”的东西,使用POJO也可以帮助您在代码上使用重用方面。您只需创建返回所有Publication属性的方法。在您的情况下,这是一个非常简单的实体,只有2个字段,但如果这个实体成长,使用POJO可以帮助您重用方面。

这是一个关于advantages of using POJOs的伟大的aswer。