Mybatis 多对多

学生实体类

public class Student {
    private Integer sid;
    private String sname;

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }
}
 
老师实体类
public class Teacher {
    private  Integer tid;
    private String tname;

	//植入学生集合
    private List<Student> students=new ArrayList<Student>();

    public List<Student> getStudents() {
        return students;
    }

    public void setStudents(List<Student> students) {
        this.students = 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;
    }


}
DAO:
public interface ITeacherDAO {

    //根据老师编号获取所有学生
    public Teacher getstudentbyteacherid(int tid);
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.bdqn.dao.ITeacherDAO">

  <resultMap id="teachermap" type="Teacher">
      <id column="tid" property="tid"></id>
      <result column="tname" property="tname"></result>
      <collection property="students" ofType="Student" >
          <id column="sid" property="sid"></id>
          <result column="sname" property="sname"></result>
      </collection>
  </resultMap>




<select id="getstudentbyteacherid" resultMap="teachermap">
    SELECT student.sid,sname,teacher.tid,tname
        FROM student,teacher_student,teacher
        WHERE student.sid=teacher_student.sid
        AND teacher.tid=teacher_student.tid
        AND teacher.tid=#{tid}
</select>

</mapper>

单侧:
@Test
  public void testteacherbyid(){
    Teacher teacher = util.getsql().getMapper(ITeacherDAO.class).getstudentbyteacherid(1);
    System.out.println(teacher.getTname());
    for (Student stu:teacher.getStudents()) {
        System.out.println(stu.getSname());

    }

}



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值