在我的应用程序中,我们使用结果集来查询数据库,然后构造一个类似以下的对象:
item.setType(resultset.getString(TYPE));
item.setValue(resultset.getString(PRICE));
现在的问题是我的项目类有大约 120 个字段,我不想编写 120 行代码只是为了设置值。我们有更干净、紧凑的方法吗?
最佳答案
你基本上有 4 个选择:
编写 120 行代码。这是最简单的方法,但正如您发现的那样可能很乏味。
使用像 Hibernate 这样的 ORM。如果您还不熟悉它,您将需要几个月的学习时间。根据我个人的经验,它在在线应用程序中可以很好地工作,但对于批处理,对象图的自动管理会产生阻碍。
使用 Spring Data 之类的东西。这是选项 1 和 2 之间的中间方式。它使用反射和 ResultSetMetaData 查询将数据从结果集映射到您提供的 DAO。与成熟的 Hibernate(或其他 ORM)相比,它的学习曲线要少得多,但如果它满足您的需求,它可以真正节省时间。
编写您自己的基于反射/ResultSetMetaData 的代码来执行映射。如果您打算这样做,那么使用 Spring Data 或类似工具会更好。不推荐。
关于Java - 如何从结果集中构造java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45581019/