Mybatais10 自连接查询多对一

查询老师对应的所有导师的信息

在09的基础上修改dao和mapper文件

public interface TeacherDao {
    /**
     * 根据老师的编号查询所有的导师信息
     */
    Teacher selectTeahcerById(Integer 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.TeacherDao">

    <resultMap type="Teacher" id="teacherMap">
      <id property="id" column="id"/>
      <result property="name" column="name"/>
      <!-- 设置关联集合的属性   递归查询 把查询到的tid当作id再次查询上级的导师信息 -->
      <association property="teacher" javaType="Teacher"
       select="selectTeahcerById" column="tid"/>
    </resultMap>
 
     <select id="selectTeahcerById" resultMap="teacherMap">
      select  id,name,tid from  teacher where id=#{xxx}
    </select>
    
</mapper>
复制代码

测试类代码

复制代码
    /**
     * 根据老师的编号查询所有的导师信息
     */
    @Test
    public void test1() {
        Teacher teacher = dao.selectTeahcerById(8);
        System.out.println(teacher);
    }
复制代码
原文地址:https://www.cnblogs.com/kaisadadi/p/7612309.html