二、Mybatis复杂映射开发
Mybatis针对SQL查询结果的复杂性,实现了一下三种复杂查询:
1)一对一查询
实现语句:select * from neworder o, user u where o.uid = u.id
实体Order:
接口:
配置:
关注点:此时mapper文件中resultMap已经不是实体类,而是mapper中resultMap的ID;同时resultMap中使用assoiation标签。
测试:
一对多查询
实现语句:select *,o.id oid from user u left join neworder o on u.id=o.uid;
User实体类修改:
接口:
配置UserMapper.xml:
、 注意:一对多结果中resultMap标签中使用collection标签。
测试:
多对多查询
实现student与course之间多对多的关系:select * from student s left join sc on s.id=sc.sid inner join course c on sc.cid=c.id;(此为左连接,有链接类推)
新建实体:Student
接口:
配置StudentMapper.xml:
测试:
以上同一对多似乎没有区别?!