MyBatis关联映射:一对一、一对多

来源:互联网 发布:项目进度跟进软件 编辑:程序博客网 时间:2024/05/26 16:00

一、一对一

场景:生活中每一个人都有一个身份证,这是最简单的一对一的关系。

(1)用户表

这里写图片描述

(2)身份证表

这里写图片描述

(3)用户实体对象,com.xuliugen.mybatis.demo.bean.User

这里写图片描述

(4)身份证实体对象,com.xuliugen.mybatis.demo.bean.Card

这里写图片描述

(5)用户表XML映射文件

这里写图片描述

<!-- 一对一关系映射 --><association column="card_id" property="card"       select="com.xuliugen.mybatis.demo.dao.CardMapper.selectByPrimaryKey"  javaType="com.xuliugen.mybatis.demo.bean.Card"/>

重点在,红色区域的内容:

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

这里写图片描述

最后

需要代码的话,CSDN下载地址:

http://download.csdn.net/detail/u010870518/9875898

原创粉丝点击