【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射

实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系。

针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系。

【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射_第1张图片

文章目录

    • 你需要了解的知识点
      • 1、关联关系种类
        • 数据库:
        • java
      • 2、关联查询方式
    • 使用
      • 1、创建实体类
      • 2、创建SQL映射的XML文件
      • 3、注册SQL映射的XML文件
      • 4、创建表格
      • 5、测试一对一关联映射
    • 你可能会出现的问题
      • 问题一:提示缺少构造函数
    • 写在最后

你需要了解的知识点

1、关联关系种类

数据库:

在关系型数据库中,多表之间存在着三种关联关系,分别为一对一一对多多对多

  1. 一对一:在任意一方引入对方主键作为外键;
  2. 一对多:在“多”的一方,添加“一”的一方的主键作为外键;
  3. 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。

java

【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射_第2张图片

  1. 一对一:在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a;(双向一对一)

  2. 一对多:一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a;

  3. 多对多:在A类中定义B类类型的集合,在B类中定义A类类型的集合。

2、关联查询方式

MyBatis加载关联关系对象主要通过两种方式:嵌套查询嵌套结果
【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射_第3张图片

使用

【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射_第4张图片
项目目录如图,其中红色标注的为本次所需要的,本次主要讲解一对多关系映射,如果你对mybatis的xml版不熟悉的话请前往
数据层框架应用–Mybatis(一) 基于XML映射文件实现数据的CRUD

1、创建实体类

创建实体类:在com.lomtom.mybaris.entity包中创建实体类AdminDetail.javaAdminInfo.java

1、AdminDetail.java
/**
 * @Author: LOMTOM
 * @Date: 2020/4/26
 * @Time: 16:43
 * @Email: [email protected]
 */
@Data
public class AdminInfo {
    private int id;

    private String name;

    private String pwd;

    private AdminDetail ad;

    public AdminInfo() {
    }

    public AdminInfo(String name, String pwd) {
        this.name = name;
        this.pwd = pwd;
    }
}

2、AdminInfo.java
/**
 * @Author: LOMTOM
 * @Date: 2020/4/26
 * @Time: 16:42
 * @Email: [email protected]
 */
@Data
public class AdminDetail {
    private int id;

    private String address;

    private String realName;

    public AdminDetail() {
    }

    public AdminDetail(String address, String realName) {
        this.address = address;
        this.realName = realName;
    }
}

2、创建SQL映射的XML文件

com.lomtom.mybaris.mapper包中创建SQL映射的XML文件adminDetailMapper.xmladminInfoMapper.xml

  • 配置元素向数据表中插入记录。
  • 配置