mybatis 一对一、一对多和多对多查询实例代码
时间:2022-04-18 11:43:28|栏目:JAVA代码|点击: 次
关键字: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>
总结


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




