小小笨笨蛋蛋 2016-02-03 15:40 采纳率: 25%
浏览 1688

关于用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条回答 默认 最新

  • threenewbee 2016-02-03 23:00
    关注

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

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料