Q:
因为模型层的对象的属性都是与表字段相对应,
如果用面向对象的方法将查询出来的记录保存到对象中然后在jsp中显示,
问题是查询出来的记录是多表字段合成的,模型层的对象没有对应的属性用来保存记录,怎么办?
还有如果查询出来的一条记录中(几个表字段合成的记录)某个表中对应主表的记录有多条记录要显示,又要怎么封装及在页面显示??
A:
第一个问题,你可以这样解决:方法1:查询结果是多表的字段,你可以在创建模型层的时候根据查询的结果来创建,而不必要根据每个表的字段来创建。
方法2:如果你模型层已经固定了,不想再修改或者重新创建模型层,可以这样做,假如查询的结果 A表和B表的字段组成。你保存数据的时候,同时用创建A表和B表的对象,依次存放相对应的记录。然后将这两个对象封装到一个hashmap或者另外一个对象中作为返回值。
方法3:干脆不用模型层的对象来存数据。直接用数据或者队列来存(不建议用这个方法)
第二个问题:如果你第一个问题解决的话,那么第二个问题也应该解决了,说到底,你查询的结果无非还是多表字段的组成而已。
在面对多表联合查询时,若查询结果的字段与现有模型层对象属性不匹配,可以采取多种策略处理。方法包括:1) 根据查询结果动态创建模型层对象;2) 使用多个对象保存不同表的数据,并封装进一个集合;3) 不使用模型层对象,直接用数据结构存储。对于查询结果中某主表有多条相关记录的情况,同样可通过适当封装在页面展示。

1188

被折叠的 条评论
为什么被折叠?



