当前位置: 移动技术网 > IT编程>开发语言>Java > mybatis 一对一、一对多和多对多查询实例代码

mybatis 一对一、一对多和多对多查询实例代码

2019年07月19日  | 移动技术网IT编程  | 我要评论

关键字: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 一对多映射(一个老师有多个学生)

<resultmap type="teacher" id="teachermaps">  
    <id column="id" property="id"/>  
    <result column="name" property="name"/>  
    <result column="class_name" property="classname"/>  
    <collection property="students" oftype="student" select="getstudents" column="id">  
    </collection>  
  </resultmap>  
  <!-- 查询所有的老师级各自的所有学生 -->  
  <select id="getallteacher" parametertype="teacher" resultmap="teachermaps">  
    select  
      t.id,  
      t.name,  
      t.class_name  
    from  
      teacher t  
  </select>  
  <select id="getstudents" parametertype="int" resulttype="student">  
    select   
      s.id,  
      s. name,  
      s.class_name as classname  
    from student s  
    where teacher_id = #{id}  
  </select> 

    关键字:association 多对一映射(多个人属于一个国家)

             多对一相当于一对多,也可以使用collection

<select id="selectcountry" resulttype="country">  
  select cid,cname from country where cid=#{ooo}  
</select>  
<resultmap type="people" id="peoplemapper2">  
  <id column="pid" property="pid"/>  
  <result column="pname" property="pname"/>  
  <association property="country"   
         javatype="country"  
         select="selectcountry"  
         column="countryid" />  
</resultmap>  
  <select id="selectbyid2" resultmap="peoplemapper2">  
  select pid,pname,countryid from people where pid = #{xxx}  
</select>  

总结

以上所述是小编给大家介绍的mybatis 一对一、一对多和多对多查询,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网