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)笛卡儿积