普通方式

public class Employee {private Integer id;private String lastName;private String email;private String gender;private Department dept;}
public class Department {private Integer id;private String departmentName;}
public interface EmployeeMapperPlus {public Employee getEmpAndDept(Integer id);}
    <resultMap id="MyDifEmp" type="com.atguigu.mybatis.bean.Employee"><id column="id" property="id"></id><result column="last_name" property="lastName"></result><result column="gender" property="gender"></result><result column="did" property="dept.id"></result><result column="dept_name" property="dept.departmentName"></result></resultMap><!--    public Employee getEmpAndDept(Integer id);--><select id = "getEmpAndDept" resultMap="MyDifEmp">SELECT e.id id,e.last_name last_name,e.gender gender ,e.d_id d_id,d.id did,d.dept_name dept_name
FROM tb1_employee e,tb1_dept d WHERE e.d_id = d.id AND e.id = #{id};</select>
  @Testpublic void test03() throws IOException {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();SqlSession sqlSession = sqlSessionFactory.openSession();try{EmployeeMapperPlus mapper = sqlSession.getMapper(EmployeeMapperPlus.class);Employee emp = mapper.getEmpAndDept(1);System.out.println(emp);System.out.println(emp.getDept());}finally {sqlSession.close();}}

association

  • 注意用了association之后,不能自动封装,必须指定全部属性
    <!--    使用association定义关联的单个对象的封装规则--><resultMap id="MyDifEmp" type="com.atguigu.mybatis.bean.Employee"><id column="id" property="id"></id><result column="last_name" property="lastName"></result><result column="gender" property="gender"></result><!--association可以指定联合的javaBean对象property = "dept":指定哪个属性是联合的对象--><association property="dept" javaType="com.atguigu.mybatis.bean.Department"><id column="did" property="id"></id><result column="dept_name" property="departmentName"></result></association></resultMap><!--    public Employee getEmpAndDept(Integer id);--><select id = "getEmpAndDept" resultMap="MyDifEmp">SELECT e.id id,e.last_name last_name,e.gender gender ,e.d_id d_id,d.id did,d.dept_name dept_name
FROM tb1_employee e,tb1_dept d WHERE e.d_id = d.id AND e.id = #{id};</select>

[mybatis]映射文件_select_resultMap_关联查询相关推荐

  1. [mybatis]映射文件_select_resultMap_关联查询_association分步查询延迟加载

    association分步查询 场景一 查询Employee的同时查询员工对应的部门 Employee===Department 一个员工有与之对应的部门信息 Employee表: Departmen ...

  2. mybatis collection标签_MyBatis第二天(结果映射+动态sql+关联查询)

    笑不出莱:MyBatis第一天(介绍+文件配置+Mapper动态代理)​zhuanlan.zhihu.com 一.导包+配置文件+pojo类 1.jar包:mybatis的核心包和依赖包+连接数据库的 ...

  3. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项

    Mybatis映射文件SQL语句模糊查询 1. "%"#{value}"%" 在参数中不需要添加 %_ 推荐使用 2. '%${value}%' 在参数中不需要 ...

  4. Mybatis的多表关联查询(多对多)

    Mybatis的多表关联查询(多对多) 项目目录结构 实现 Role 到 User 多对多 业务要求 用户与角色的关系模型 编写角色实体类 编写 Role 持久层接口 实现的 SQL 语句 编写映射文 ...

  5. MyBatis映射文件(一)

    目录 一.MyBatis映射文件 1.insert.update.delete元素 2.主键生成方式 3.参数(Parameters)传递 (1)单个参数 (2)多个参数 (3)命名参数 (4)POJ ...

  6. 3 了解MyBatis映射文件

    3.1 认识映射文件: 介绍:     MyBatis的映射文件主要用于定义业务操作命令,实现对象与数据表字段的映射,并控制对最终结果的封装.MyBatis是针对SQL构建,相对具有相同功能的JDBC ...

  7. Mybatis映射文件!CDATA[[]] 转义问题

    有没有觉得在mybatis映射文件写>(大于),<(小于)的时候贼麻烦,还得把"<",">"换位为"<", & ...

  8. MyBatis 实践 -动态SQL/关联查询

    MyBatis 实践 标签: Java与存储 动态SQL 动态SQL提供了对SQL语句的灵活操作,通过表达式进行判断,对SQL进行拼接/组装. if 对查询条件进行判断,如果输入参数不为空才进行查询条 ...

  9. MyBatis实现中间表关联查询

    MyBatis实现中间表关联查询 通常构建数据多对多模型的关系时,我们需要再建立一张中间表来关联另外两张表. 下面介绍一下,怎么用MyBatis来实现中间表关联查询并封装到实体类对象中. 现在有三张表 ...

最新文章

  1. Android判断Service是否运行
  2. springboot+maven实现模块化编程
  3. 【转】SQL注入攻击防御深层思考
  4. SAP Spartacus npm install 里包含的 postinstall
  5. c++ 方向_GE医疗C型臂系列手术机设备全球装机量破万
  6. 南师大632c语言程序设计,单片机c语言学习心得632.docx
  7. VO,BO,PO,DO,DTO的区别
  8. vue练习之vue+cnode api
  9. 触发器使用教程和命名规范
  10. 对报表模型项应用安全筛选器
  11. originos是鸿蒙系统吗,originos系统是安卓吗
  12. 阵列matlab程序,阵列信号处理的理论和应用 原书matlab 程序.rar
  13. 珍藏30年的网站都在这了,自媒体运营必不可少
  14. Mac版Lync无法登陆问题(登录设置)
  15. Apex-逃离塔科夫机器码彻底解决(年度最新讲解可观看)
  16. 写c++好的软件_族谱家谱制作怎么写?专业的家谱族谱编辑制作软件哪个好
  17. WIZnet 物联网设计大赛 - WizFi360大赛
  18. 初识爬虫,爬虫原理?爬虫是什么?为什么爬虫用python比较流行?
  19. 计算机桌面壁纸小,电脑的桌面壁纸大小怎么设置
  20. python中文版下载安装-python

热门文章

  1. [转]cmd 设置环境cmd环境变量命令set 设置永久环境变量命令setx
  2. 【经典回放】多种语言系列数据结构算法:希尔排序
  3. js监听多个事件_JavaScript中的事件与异常捕获解析
  4. ​如何在图书馆收获一段爱情?​
  5. 颜宁问4对科研夫妻:男科学家怎样平衡事业家庭?
  6. “爱因斯坦兄弟”事件轰动纽约时报!双胞胎乱写博士论文,整容后越黑越红,竟然名利双收..........
  7. 快手春节活动奖励未到账,被羊毛党投诉上了全国12315平台
  8. mysql连接指定时区_MySQL创建JDBC连接时区问题
  9. excel保存成matlab,matlab数据保存为excel文件
  10. oracle 12c 多线程,Oracle 12c(12.1)中性能优化功能增强之通过参数THREADED_EXECTION使用多线程模型...