比如: 学生表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多项目的源码也没找到答案,望高手赐教啊

解决方案 »

  1.   

    好吧,我承认我不该说是mybatis,其实jdbc也是一样的问题吧,各位大虾说说自己的看法啊
      

  2.   

    我比较喜欢第二种
    逻辑简单,倾向于Java的MVC模型
      

  3.   


    是啊,我们公司原来也是用第二种,而且用了ibatis的代码自动生成,感觉还不错,只是没有第一种优雅,我想知道第一种方式性能如何啊
      

  4.   

    好吧,我结贴了,看来还是第二种方式比较好,或者不建视图而直接根据返回的字段建一个新的model类,感谢fuwenhai的回答