Mybatis -> 一对多处理,多是多个对象(collection)

接口,实体类

public interface TeacherMapper {
  Teacher setSelect(int id);
}

  private int id;
  private String name;
  //多个student存在list中
  private List<Student> student;

xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.TeacherMapper">
    <select id="setSelect" resultMap="teachermap">
            /*不用别名,下面基本用不了,识别不了字段是那个*/
        select t.id,t.name,s.id sid,s.name sname,s.teaid steaid
        from teacher t
        join student s
        on t.id=s.teaid
        where t.id=#{id}
    </select>
    <resultMap id="teachermap" type="teacher">
        <!--不知道为什么,一定要加上这两个,不加就会错误-->
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <!--获取多个student数据,使用collection,ofType是集合的返回类型与javatype一样-->
        <collection property="student" ofType="student">
            <result property="name" column="sname"/>
            <result property="id" column="sid"/>
            <result property="teaid" column="steaid"/>
        </collection>
    </resultMap>
</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值