Mybatis多表查询时【多对一】的学习,关于association的理解
在理解多对一时,先要理解association在mybatis映射文件中的作用,以下是官方文档的说明:
简单来说assocation是关联,代表多对一,理解的关键在于这个【一】,说明最后得到的应该是一个对象类型的结果。
assocation → 多对一
实现代码:用员工表与部门表的形式举例(员工表的depID连接部门表的ID)
员工表:
部门表:
① 多对一的实现(按结果嵌套查询):
首先创建部门表的实体类
创建员工表的实体类
我们通过面向接口编程,将Mybatis的映射文件绑定在接口empMapper上(xml映射文件的注册就不展示了,默认你们都会^ ^)
配置empMapper.xml
我们先通过外连接的sql语句获取出我们想要获取的字段值,将获取到的字段值通过resultMap结果映射到实体类的字段上。重点在于我们无法通过<result>
标签直接给对象类型的字段赋值,所以使用<association>
标签字段为dep对象赋值
测试类:
结果: