在做多对一映射时,通常会用到association
有种类中套类的感觉,但如图所示,我这边需要映射两次Team类,按我之前的做法是,我把他们当做了两个不同的类,所以RoadTeamMap我又写了一个resultMap
sql语句为:
当然这样子也是没有问题的,依然能实现查询映射。但是home和road明明是同一个类,如果写两次resultMap总感觉做了重复工作,假如是十个,那岂不是需要写十次,假如team映射的字段多,岂不是要写gg了。
经过查找资料和提点,找到了可以重复使用的方法,即association元素的一个的属性columnPrefix。
感受下修改后的代码:
home和road重复使用了TeamMap,再也不用写10遍了。rd_开头相关的字段会映射到road属性中。