关于实体类封装jdbc返回结果集的实现方式猜想,手动实现封装一对多数据(上篇)

表1,人物表A,id为主键

idname
1小王
2小李

表2,物品表B uid为主键

uiditembelong
1尺子1
2铅笔1
3橡皮2
4圆规2
5墨水2

表A和表B通过表B的belong字段和表A的id字段关联
经过观察,orm框架里sql的实现方式如下
select t.*,b.uid,b.item from A t left join B r on t.id=r.belong
得到如下表

idnameitemuid
1小王1尺子
1小王2铅笔
2小李3橡皮
2小李4圆规
2小李5墨水

实体类定义如下

//归属物品
public class Belong{
	public int uid;
	public String item;
}
//人员
public class Result{
	public int id;
	public String name;
	public Belong[] belongs;
}

返回的json如下

[{
	"id":1,
	"name":"小王",
	"belongs":[{
		"uid":1,
		"item":"尺子"
	},{
		"uid":2,
		"item":"铅笔"
	}]
},{
	"id":2,
	"name":"小李",
	"belongs":[{
		"uid":3,
		"item":"橡皮"
	},{
		"uid":4,
		"item":"圆规"
	},{
		"uid":5,
		"item":"墨水"
	}]
}]

不知道在座各位有没有考虑过,sql结果是如何根据实体类结构生成对应的json数据的
本人在此猜想,实际上是对jdbc返回的查询结果集遍历,每次都查找是否已经存在对应id,name的人物对象,如果没有,那就生成,如果有,那就对生成belong并添加到对应人物对象的belongs中
具体代码实现放在下篇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值