MyBatis—resultMap 的关联方式实现多表查询(多 对一)
2024-09-01 17:45:30
mapper 层
a)在 StudentMapper.xml 中定义多表连接查询 SQL 语句, 一次性查到需要的所有数据, 包括对应班级的信息.
b)通过<resultMap>定义映射关系, 并通过<association>指定对象属性的映射关系. 可以把<association>看成一个<resultMap>使用. javaType 属性表示当前对象, 可以写全限定路径或别名.
<?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="com.bjsxt.mapper.StudentMapper">
<resultMap type="Student" id="smap">
<id property="stid" column="sid"/>
<result property="stname" column="name"/>
<result property="stage" column="age"/>
<result property="stsex" column="sex"/>
<result property="stcid" column="c_id"/>
<!-- 用于关联一个对象 -->
<association property="clazz" javaType="clazz">
<id property="id" column="cid"/>
<result property="name" column="cname"/>
<result property="room" column="croom"/>
</association>
</resultMap>
<select id="selAll" resultMap="smap">
select s.sid,s.name,s.age,s.sex,s.c_id,c.cid,c.cname,c.croom
from t_stu s
left join t_class c
on s.c_id=c.cid
</select>
</mapper>
Test测试类:
package com.bjsxt.test;
import java.util.List;
import com.bjsxt.pojo.Student;
import com.bjsxt.service.StudentService;
import com.bjsxt.service.Impl.StudentServiceImpl;
public class TestSel {
public static void main(String[] args) {
StudentService ss=new StudentServiceImpl();
List<Student> list = ss.selAll();
for (Student student : list) {
System.out.println(student);
}
}
}
其余的配置文件参考:Mybatis_多表关联查询_resultMap_集合对象_N+1方式实现(不需要ClazzMapper)
运行截图:
最新文章
- tp框架之增删改查
- http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html(转载)(原作者:AstralWind)
- Happy New Year
- java的字体的颜色,型号,大小的方法
- Java提高篇---Map总结
- PotPlayer播放器——最强大的播放器 - imsoft.cnblogs
- GDB 运行PYTHON 脚本+python 转换GDB调用栈到流程图
- setter设置器 gutter访问器
- Windbg调试中遇到的问题
- 关于struts2 Could not find action or result错误
- SAP 动态设置 GUI STATUS 灰色不可用 或者隐藏(转)
- python全栈开发-Day12 三元表达式、函数递归、匿名函数、内置函数
- docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)
- CentOS7装Tomcat
- msvcp140.dll丢失解决方案
- 七台机器部署Hadoop2.6.5高可用集群
- vue--子组件主动获取父组件的数据和方法
- java-JSP脚本的9个内置对象
- idea_pyspark 环境配置
- C++ STL 一般总结(转载)