如何使用mybatis的多表映射

1 何为mybatis:

MyBatis 是一个持久层框架,它通过将数据库操作映射到 Java 方法,使得在 Java 应用程序中操作数据库变得更加简单和方便。当涉及到多表查询或多表操作时,MyBatis 提供了多种方式来进行多表映射

一对一映射

就是在自己设置一个实体类 ,装对方的对象

当两个表之间存在一对一的关系时,可以使用 MyBatis 的一对一映射功能将查询结果映射到包含相关对象的 Java 对象中。这可以通过在映射文件中使用 <association> 元素来实现

代码实现:

以根据ID查询订单,以及订单关联的用户的信息为例

  数据库准备

设置实例化包:

设置mapper接口,用于查询数据

配置文件:

通过映射用resultMap实现映射

其中 column为数据库中的字段id  property为实体类中对应的字段

3对多查询:

封装对方类的集合

语句查询

4 多表映射优化

<setting name="autoMappingBehavior" value="FULL"/> 是 MyBatis 框架中的一个配置设置。MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

这里的 autoMappingBehavior 设置是关于 MyBatis 如何自动映射结果集到 Java 对象(通常是实体类或者 DTO)的。它有三个可能的值:

NONE: 禁用自动映射。
PARTIAL: 只会自动映射没有手动指定映射的字段。也就是说,如果某个字段在 Java 对象中有明确的 getter/setter 或者在 MyBatis 的映射文件中有明确的 <result> 映射,那么这个字段就不会被自动映射。
FULL: 会自动映射所有字段,包括已经手动指定映射的字段。
设置为 FULL 时,MyBatis 会尝试将结果集中的所有列都映射到 Java 对象的对应字段,即使这些字段在映射文件中已经有了明确的 <result> 映射。

在setting中配置   这样在映射时只写id就行了

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值