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)测试结果

最后