zoukankan      html  css  js  c++  java
  • Mybatis关联查询之二

    Mybatis关联查询之多对多

    多对多

    一、entity实体类

    public class Student {
        private Integer stuid;
        private String stuname;
        private String stuaddress;
    
        //植入一个Teacher集合,代表一名学员可以被多名教员教课
        private List<Teacher> teachers;
    
        public Integer getStuid() {
            return stuid;
        }
    
        public void setStuid(Integer stuid) {
            this.stuid = stuid;
        }
    
        public String getStuname() {
            return stuname;
        }
    
        public void setStuname(String stuname) {
            this.stuname = stuname;
        }
    
        public String getStuaddress() {
            return stuaddress;
        }
    
        public void setStuaddress(String stuaddress) {
            this.stuaddress = stuaddress;
        }
    
        public List<Teacher> getTeachers() {
            return teachers;
        }
    
        public void setTeachers(List<Teacher> teachers) {
            this.teachers = teachers;
        }
    }
    public class Teacher {
        private Integer tid;
        private String tname;
    
        //植入学员集合,代表一名教员授课多名学生
        private List<Student> students;
    
        public Integer getTid() {
            return tid;
        }
    
        public void setTid(Integer tid) {
            this.tid = tid;
        }
    
        public String getTname() {
            return tname;
        }
    
        public void setTname(String tname) {
            this.tname = tname;
        }
    
        public List<Student> getStudents() {
            return students;
        }
    
        public void setStudents(List<Student> students) {
            this.students = students;
        }
    }

    二、dao层

    //多对多  查询所有学生信息 以及授课老师
        public List<Student> getStudentInfo();

    三、dao.xml小配置

    <!--多对多-->
        <resultMap id="studentAndTeacher" type="com.marketsys.entity.Student">
            <id column="stuid" property="stuid"/>
            <collection property="teachers" ofType="com.marketsys.entity.Teacher">
                <id column="tid" property="tid"/>
            </collection>
        </resultMap>
        <select id="getStudentInfo" resultMap="studentAndTeacher">
            select * from student,teacher,stu_t where student.stuid=stu_t.stuid and teacher.tid=stu_t.tid
        </select>

    四、test测试类

    
    
    SqlSession sqlSession= MybatisUtil.getSqlSession();
    URoleTestDao mapper=sqlSession.getMapper(URoleTestDao.class);

    //
    多对多 @Test public void test3(){ List<Student> studentInfo = mapper.getStudentInfo(); for (Student stu:studentInfo) { System.out.println("学生:"+stu.getStuname()); for (Teacher teacher:stu.getTeachers()) { System.out.print(" 教员:"+teacher.getTname()); } } }
  • 相关阅读:
    (转)JQuery中$.ajax()方法参数详解
    __dopostback的用法 . 编辑
    (转)__dopostback的用法 .
    (转)如何区分一个程序员是“老手“还是“新手“?
    jQuery验证框架 .
    location.href的用法
    为用户设置密码
    设置环境变量
    用 xampp 在ubuntu 下配置php 运行环境 lampp
    安装与配置JDK
  • 原文地址:https://www.cnblogs.com/Zzzzn/p/11662773.html
Copyright © 2011-2022 走看看