多表联合查询时javabean的设计 与 实现

在面对多表联合查询时,若查询结果的字段与现有模型层对象属性不匹配,可以采取多种策略处理。方法包括:1) 根据查询结果动态创建模型层对象;2) 使用多个对象保存不同表的数据,并封装进一个集合;3) 不使用模型层对象,直接用数据结构存储。对于查询结果中某主表有多条相关记录的情况,同样可通过适当封装在页面展示。
Q:
因为模型层的对象的属性都是与表字段相对应,
如果用面向对象的方法将查询出来的记录保存到对象中然后在jsp中显示,
问题是查询出来的记录是多表字段合成的,模型层的对象没有对应的属性用来保存记录,怎么办?
还有如果查询出来的一条记录中(几个表字段合成的记录)某个表中对应主表的记录有多条记录要显示,又要怎么封装及在页面显示??

A:
第一个问题,你可以这样解决:方法1:查询结果是多表的字段,你可以在创建模型层的时候根据查询的结果来创建,而不必要根据每个表的字段来创建。
方法2:如果你模型层已经固定了,不想再修改或者重新创建模型层,可以这样做,假如查询的结果 A表和B表的字段组成。你保存数据的时候,同时用创建A表和B表的对象,依次存放相对应的记录。然后将这两个对象封装到一个hashmap或者另外一个对象中作为返回值。
方法3:干脆不用模型层的对象来存数据。直接用数据或者队列来存(不建议用这个方法)
第二个问题:如果你第一个问题解决的话,那么第二个问题也应该解决了,说到底,你查询的结果无非还是多表字段的组成而已。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值