一对一、一对多的关联查询 ?

发布于 2021-05-10 17:56:05
关注者
0
被浏览
348
1 个回答
  • 面试哥
    面试哥 2021-05-10
    为面试而生,有面试问题,就找面试哥。
    <mapper namespace="com.lcb.mapping.userMapper">
        <!--association 一对一关联查询 -->
        <select id="getClass" parameterType="int" resultMap="ClassesResultMap">
            select * from class c,teacher t where c.teacher_id=t.t_id and
            c.c_id=#{id}
        </select>
    
        <resultMap type="com.lcb.user.Classes" id="ClassesResultMap">
            <!-- 实体类的字段名和数据表的字段名映射 -->
            <id property="id" column="c_id"/>
            <result property="name" column="c_name"/>
            <association property="teacher" javaType="com.lcb.user.Teacher">
            <id property="id" column="t_id"/>
            <result property="name" column="t_name"/>
            </association>
        </resultMap>
        <!--collection 一对多关联查询 -->
        <select id="getClass2" parameterType="int" resultMap="ClassesResultMap2">
            select * from class c,teacher t,student s where c.teacher_id=t.t_id
            and c.c_id=s.class_id and c.c_id=#{id}
        </select>
        <resultMap type="com.lcb.user.Classes" id="ClassesResultMap2">
            <id property="id" column="c_id"/>
            <result property="name" column="c_name"/>
            <association property="teacher" javaType="com.lcb.user.Teacher">
            <id property="id" column="t_id"/>
            <result property="name" column="t_name"/>
        </association>
        <collection property="student" ofType="com.lcb.user.Student">
            <id property="id" column="s_id"/>
            <result property="name" column="s_name"/>
        </collection>
        </resultMap>
    </mapper>
    
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看