比如: 学生表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多项目的源码也没找到答案,望高手赐教啊
查询学生和班级 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多项目的源码也没找到答案,望高手赐教啊
逻辑简单,倾向于Java的MVC模型
是啊,我们公司原来也是用第二种,而且用了ibatis的代码自动生成,感觉还不错,只是没有第一种优雅,我想知道第一种方式性能如何啊