我已经有一个模型实例,它是一个基本的POJO,我怎样才能通过调用被命名为与表列名称匹配的setters来填充它(通过发布SELECT
)使用dbutils的值?如何将数据库值填充到现有的对象模型中?
因此BasicRowProcessor应匹配,我只是没有找到适当的类/方法调用对象作为参数。
我只想设置一个实例,而不是数组。
我已经有一个模型实例,它是一个基本的POJO,我怎样才能通过调用被命名为与表列名称匹配的setters来填充它(通过发布SELECT
)使用dbutils的值?如何将数据库值填充到现有的对象模型中?
因此BasicRowProcessor应匹配,我只是没有找到适当的类/方法调用对象作为参数。
我只想设置一个实例,而不是数组。
我不知道我理解你的问题。一些源代码会有所帮助。
有很多执行ORM的库。有些ORM项目参见source forge。其中之一是我创建的sormula。最简单的用法见POJO zero-config example。
所有你能做的就是
YourObject result = new BasicRowProcessor().toBean(yourResultSet,YourObject.class);
它将虽然创建实例。这个API的目的不是让你修改一个已经存在的对象。
如果你真的需要更新现有的对象,你可能会实现一个YourObject.copy(YourObject obj)
方法,并调用它的结果从BasicRowProcessor.toBean
,但它看起来相当丑陋。
另一个(也是丑陋的)解决方案是实现BeanProcessor
类,实现BeanProcessor.newInstance(Class)
方法返回您的对象,然后将您的实现实例传递给BasicRowProcessor
实例。
是否有任何其他替代库允许我这样做? – Flavius 2012-01-13 16:15:37
我正在寻找类似于(你链接的例子)'inventoryTable.selectInto(partNumber,inventory);' - 库存是已经存在的POJO,我只想用数据填充它。 – Flavius 2012-01-16 19:38:31