mybatis10--自连接多对一查询

Posted @想太多先森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis10--自连接多对一查询相关的知识,希望对你有一定的参考价值。

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

在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);
    }

 

以上是关于mybatis10--自连接多对一查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 基础 -- 多表关系(一对一1对多(多对一)多对多)多表查询(内连接外连接自连接子查询(嵌套查询)联合查询 union)笛卡儿积

mybatis映射 一对一,一对多,多对多高级映射

33mybatis

MyBatis

MyBatis

spring-boot-mybatis-plus-layui 自定义代码生成完整多对一