使用dbUtil多表查询获取的数据涉及多个对象时的封装

我们使用dbUtil查询数据库时,一般是单表查询,封装数据都是单个对象,可以直接封装,当碰到更复杂的数据,比如从一个sql语句同时查询商品信息和客户信息封装到一个订单的对象中,订单对象中的属性如果是商品的属性,字段可以和查询数据库返回的数据的字段一一对应,那么直接封装没问题,点击查看一般方法但是如果商品对象作为订单的成员变量的话,直接封装时属于商品的属性找不到对应字段导致封装失败,此时可用以下方法:


List<Map<String, Object>> mapList = runner.query(sql, new MapListHandler(), .....);返回一个装有map的集合,有name,id,和商品的price,pname四个字段

//遍历拿出数据

for(Map<String,Object> map : mapList){


//从map中取出name,id 封装到User中

BeanUtils.populate(user, map);


//从map中取出pname,price 封装到Product中


BeanUtils.populate(product, map);


//将product,user封装到Order


order.setProduct(product);


order.setUser(user)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值