我已经有了一个模型实例,它是一个基本的POJO,我如何使用dbutils通过调用与表列名匹配的setter来填充它(通过发出SELECT
)?
所以BasicRowProcessor应该匹配,我只是找不到合适的类/方法来调用对象作为参数。
我只想设置一个实例,而不是数组。
我不确定我是否理解你的问题。一些源代码会有所帮助。
有很多库执行ORM。有关一些ORM项目,请参阅源代码锻造。其中一个是我创造的sormula。有关它的最简单用法,请参阅POJO zero-config示例。
您所能做的就是
YourObject result = new BasicRowProcessor().toBean(yourResultSet,YourObject.class);
不过它将创建实例。此API的设计目的不是允许您修改已存在的对象。
如果你真的需要更新现有的对象,你可以实现一个YourObject.copy(YourObject obj)
方法,并用BasicRowProcessor.toBean
的结果来调用它,但它看起来很难看。
另一个(也是丑陋的)解决方案是实现BeanProcessor
类,实现BeanProcessor.newInstance(Class)
方法以返回对象,然后将实现实例传递给BasicRowProcessor
实例。