mybatis 怎么实现一对一映射?

 时间:2026-02-14 04:29:48

1、在实际开发中。我们知道mybatis的返回有两种方式。resultMap和resultType类中类型。

这里就使用resultMap来讲解。

使用,resultMap来进行一对一结果映射,其实就是将关联对象添加到主信息的对象中。

具体来说,就是对象嵌套对象的一种映射方式。

什么意思呢?请看下图:

我们修改扩展类 OrdersExt.添加需要关联的表对象(也就是user表的pojo对象)

mybatis 怎么实现一对一映射?

2、那么,在对应的mapper.xml文件中怎么写呢?

一对一实体嵌套映射文件的写法

在mybatis中一对一映射使用的是:association标签

通过之前的学习,我们知道,要想使用自定义的resulMap,必须先定义,然后再使用。

所以,我们先来定义订单与用户关系的自定义resulMap:

mybatis 怎么实现一对一映射?

3、说明:

订单与用户是一对一的映射关系

association:mybatis中一对一关联映射

property:一方(从表:比如这里的user表)在另一方(主表,比如这里的ordres表)中对应的属性

在本实例中 主表是orders,从表是user.

而从表user的pojo对象,在主表orders的pojo对象中对应的属性是user.

所以这里的property=user

javaType:声明从表对应的pojo实体类

id:主表中外建列对应从表主键的属性

column:主键外建对应的列名

property:主表外建对应从表主键的实体对象中属性

在本实例中,我们知道orders表对应user表的外建是user_id

而user表主键对应user的pojo对象中属性就是id

所以这里的 column="user_id" property="id"

result:需要查询的非主键数据库列对应Java中pojo实体中的属性

用法不变。

这里是从表的数据库列对应从表的pojo实体对象属性

4、本实例中的user表中需要查询的用户名、性别这两列分别对应user表实体对象pojo的属性

直接看截图:

mybatis 怎么实现一对一映射?

5、对应mpper接口类写法:

mybatis 怎么实现一对一映射?

6、测试类写法:

mybatis 怎么实现一对一映射?

7、运行结果:

mybatis 怎么实现一对一映射?

  • 如何使用ES6中的方法查看Set集合中的元素
  • 在matlab中如何进行程序分析?
  • 物联网的英文简写是什么
  • 怎么在Android studio清除缓存
  • 怎么帮助改进HBuilderX的功能和性能
  • 热门搜索
    栩怎么读 大白菜做法 醒酒汤的做法 爆肚的做法 excited怎么读 和平精英怎么玩 红薯做法 眼角疼是怎么回事 青蟹的做法 红烧鱼的家常做法视频