MyBatis关联映射:一对一、一对多总结一二
一、一对一
场景:生活中每一个人都有一个身份证,这是最简单的一对一的关系。
(1)用户表
(2)身份证表
(3)用户实体对象,com.xuliugen.mybatis.demo.bean.User
(4)身份证实体对象,com.xuliugen.mybatis.demo.bean.Card
(5)用户表XML映射文件
重点在,红色区域的内容:
1、
column
表示数据库user表中的字段card_id;
2、property
表示User实体对象中的属性card;
3、select
表示根据column
数据库属性的值作为该方法的参数;
4、javaType
表示返回的对象类型;
(6)身份证表XML映射文件
(7)测试Controller
(8)测试结果
二、一对多
场景:生活中每一个班级有多个学生,这是最简单的一对多的关系。
(1)学生表
其中,clazz_id
表示班级ID。
(2)班级表
(3)班级实体对象
(4)学生实体对象
(5)班级表XML映射文件
重点在,红色区域的内容:
1、
fetchType
表示是否是懒加载,可以选择eager和lazy,正常情况下,一对多关联的结合对象,都设置为懒加载lazy;
2、property
表示User实体对象中的属性card;
3、select
表示根据column
数据库属性的值作为该方法的参数;
4、javaType
表示返回的对象类型;
(6)学生表XML映射文件
(7)测试Controller
(8)测试结果