基于Mapper代理配置的Mybatis多表查询一对多
基于Mapper代理配置的Mybatis多表查询一对多映射
注意:
这里我们在mybatis总配置里设置包扫描
<mappers>
<!-- 自动扫描指定包中的sql映射文件 -->
<package name="com.ashes.mapper"/>
</mappers>
一、使用内连接
1、编写Mapper接口,记住Mapper代理规范
2、编写Mapper.xml文件
通过接口方法名找到对应id的select,再通过select的resultMap找到id为rm的resultMap
查看type是否与方法返回类型相同,今天我们用的一个信息标签collection
collection:用于配置一对多的结果集映射
ofType:用于指定装载到集合中的对象的数据类型(这里是emp表)
3、测试
二、使用两个单表查询
1、编写Mapper接口方法
2、通过接口方法名找到对应的id为方法名的select,再通过resultMap的值找到对应的id为rm的resultMap标签,
查看对应type是否为方法返回值类型,此处的collection有变化,这里主要通过主键外键进行连接,所以这里的
deptno是外键,对应的list是我们在Dept表的POJO中定义的,后面的select属性组要我们去找相应id的select
标签,拿到符合list的resultType。