2 flyinghehehe Flyinghehehe 于 2016.02.03 23:40 提问

关于用DBUtils封装javavbean的问题

为了便于讲的更清楚举个例子。
假如自定义了一个person类如下:
class person{
       private String name;
        private Address address;
//以下一系列的getter和setter方法,省略
}
自定义的Address类如下:
class Address {
       private String city;
       private String street;
//以下一系列的getter和setter方法,省略​
}
这两个类分别对应两张表。
使用DBUtils可以将基本数据类型的字段封装到javabean 中,若定义的javabean里有的属性类型又是另一个
自定义的javabean的话(例如以上的person类)。
我的问题是:在这种情况下,那么使用DBUtils如何将表数据封装到person中。主要是Address属性。
我的一个解决思路是:先把Address表中数据封装到一个Address javabean中,再手动调用person的setter方法将这个Address对象赋值给person。但是如果javabean中的自定义类型比较多的时候,这样
自己一个一个的调用setter器会很麻烦的。不知道你们是如何解决这个问题的。

没有C币了,抱歉。

1个回答

caozhy
caozhy   Ds   Rxr 2016.02.04 07:00

你可以写一个递归去复制属性的程序,通过反射获得属性,然后赋值,如果属性是一个类类型,那么对它再递归。

具体代码:
http://wenku.baidu.com/link?url=_0o6nXYes3mlydMAsqC8NWxCcUgkfDYKPlin8EOT3ZIJPKTNbZsjxW_pEigey_CmWC6yf6aOaDft0l3AT9rZX3kar43ciN3nS6bQXDyQzOy

另一个方法就是序列化,再反序列化。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!