Java - 如何从Resultset构造java对象

时间:2017-08-09 03:05:50

标签: java design-patterns

在我的应用程序中,我们使用结果集来查询数据库,然后构造一个类似的对象:

    item.setType(resultset.getString(TYPE));
    item.setValue(resultset.getString(PRICE));

现在问题是我的项目类有大约120个字段,我不想写120行代码来设置值。我们有更清洁,更紧凑的方法吗?

1 个答案:

答案 0 :(得分:2)

你基本上有4个选择:

  1. 写出120行代码。这是最简单的方法,但是你发现这可能很乏味。

  2. 使用像Hibernate这样的ORM。如果您还不熟悉它,您将有几个月的学习曲线。根据我的个人经验,它可以在在线应用程序中很好地工作,但对于批处理,对象图的自动管理会妨碍。

  3. 使用像Spring Data这样的东西。这是选项1和2之间的一半。它使用反射和ResultSetMetaData查询将结果集中的数据映射到您提供的DAO。与完全成熟的Hibernate(或其他ORM)相比,它的学习曲线要​​少得多,但如果满足您的需求,可以节省时间。

  4. 编写自己的反射/基于ResultSetMetaData的代码来进行映射。如果您打算这样做,那么使用Spring Data或类似工具会更好。不推荐。