autoResultMap = true 作用, @TableName(value = ““, autoResultMap = true)

autoResultMap = true 是 MyBatis-Plus(一个 MyBatis 的增强工具)中的一个配置项,用于自动生成 ResultMap

作用:

在 MyBatis 中,ResultMap 是一个非常重要的概念,它用来定义数据库查询结果与 Java 对象之间的映射关系。当 MyBatis 执行查询操作时,它会根据 ResultMap 将查询结果的列映射到 Java 对象的字段上。

通常,MyBatis 需要手动配置 ResultMap,但在使用 MyBatis-Plus 时,可以通过设置 autoResultMap = true 来启用自动映射功能,避免手动编写 ResultMap 映射。

具体作用:

  1. 自动生成 ResultMap: 当你在实体类上使用 @TableName 注解,并设置 autoResultMap = true 时,MyBatis-Plus 会根据实体类的字段自动生成一个 ResultMap。这样,当你执行查询操作时,MyBatis-Plus 会自动将查询结果映射到实体类中,而不需要显式配置 ResultMap

  2. 避免重复代码: 如果你的数据库表字段名和实体类字段名一致(或者遵循了某种映射规则,例如驼峰命名法),通过 autoResultMap = true,你就不需要手动写 ResultMap 来定义字段与字段之间的映射关系,从而减少了大量重复代码。

举个例子:

假设有一个 EmployeeMobilityApplies 实体类:

@Data
@TableName(value = "employee_mobility_applies", autoResultMap = true)
public class EmployeeMobilityApplies {
    private Long id;
    private String employeeName;
    private String department;
    private Date applyDate;
}

如果数据库表 employee_mobility_applies 中有以下字段:

  • id
  • employee_name (数据库中的字段使用下划线命名)
  • department
  • apply_date

当你查询 employee_mobility_applies 表时,MyBatis-Plus 会自动根据 Java 类的字段名(如 employeeName)与数据库表的列名(如 employee_name)进行自动映射。这意味着你不需要手动创建 ResultMap 来进行字段的转换。

注意事项:

  • 字段命名规范:如果实体类字段采用的是驼峰命名(employeeName),而数据库表字段使用的是下划线命名(employee_name),autoResultMap = true 会自动处理这类命名的差异(通过 MyBatis 的驼峰转换)。
  • 适用场景:如果你的实体类和数据库表结构非常相似,且字段之间的命名也符合一定的规则(如驼峰与下划线转换),使用 autoResultMap = true 可以大大简化代码。但是如果你的表结构复杂,或者需要更多定制化的映射规则,仍然可以选择手动定义 ResultMap

总结:

autoResultMap = true 使得 MyBatis-Plus 能够根据实体类的字段与数据库表的列自动生成映射关系,简化了映射配置,并减少了手动编写 ResultMap 的工作量,适用于大多数简单或标准化的映射场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值