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

运行截图: 

最新文章

  1. tp框架之增删改查
  2. http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html(转载)(原作者:AstralWind)
  3. Happy New Year
  4. java的字体的颜色,型号,大小的方法
  5. Java提高篇---Map总结
  6. PotPlayer播放器——最强大的播放器 - imsoft.cnblogs
  7. GDB 运行PYTHON 脚本+python 转换GDB调用栈到流程图
  8. setter设置器 gutter访问器
  9. Windbg调试中遇到的问题
  10. 关于struts2 Could not find action or result错误
  11. SAP 动态设置 GUI STATUS 灰色不可用 或者隐藏(转)
  12. python全栈开发-Day12 三元表达式、函数递归、匿名函数、内置函数
  13. docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)
  14. CentOS7装Tomcat
  15. msvcp140.dll丢失解决方案
  16. 七台机器部署Hadoop2.6.5高可用集群
  17. vue--子组件主动获取父组件的数据和方法
  18. java-JSP脚本的9个内置对象
  19. idea_pyspark 环境配置
  20. C++ STL 一般总结(转载)

热门文章

  1. STM32中断系统
  2. 语义分割学习之SegNet的C++编译
  3. C++中对C的扩展学习新增内容———面向对象(封装)
  4. Java自动生成数据
  5. java编程思想第四版第八章习题
  6. pat 1006 Sign In and Sign Out(25 分)
  7. 力扣(LeetCode)求众数 个人题解
  8. RAID5创建流程(3块做RAID,两块备份)
  9. PL真有意思(五):数据类型
  10. .NET Core 3.0 使用Nswag生成Api文档和客户端代码