mybatis进行多表查询时,建视图?关系映射?还是直接返回Map?困扰了我N久,诚心求教
比如: 学生表Student 班级表Clazz 一对多关系
查询学生和班级 select * from student s left join clazz c on s.clazz_id = c.clazz.id
返回List列表在前台
解决方法:
1. 使用关系映射,Clazz作为Student类中的一个属性,全用mybatis的关联映射<association property="clazz"....
查询返回类型List<Student>
public Student {
private Integer id;
....
private Clazz clazz;
}
2. 建立视图,并创建此视图的实体类,查询返回类型List<StudentClazzView>
public StudentClazzView {
private Integer id;
private String stuName;
private String clazzName;
......
}
3. 不建实体类,直接返回Map类型,字段作为Map的key,返回类型List<Map>
以上三种方法大家都使用哪一种啊,第一种有点类似Hibernate,第二种又感觉繁琐,第三种就是jdbc了没什么特别的
这几中方式哪一种性能更好呢,此问题困扰了我好久,看了n多项目的源码也没找到答案,望高手赐教啊