(文章目录)

MyBatis-Plus(简称MP)是一个用于简化 MyBatis 操作的增强工具库,它在 MyBatis 的基础上扩展了一些功能,极大地提高了开发效率。

1. @TableName

@TableName 注解用于指定实体类对应的数据库表名。它的作用是告诉 MyBatis-Plus 在进行 SQL 操作时应该使用哪个表。

示例代码:

@TableName("user")
public class User {
    // 省略其他字段
}

在这个示例中,User 类将映射到数据库中的 user 表。

2. @TableId

@TableId 注解用于标识主键字段。在 MyBatis-Plus 中,可以选择使用三种主键生成策略:IdType.AUTO(自动增长)、IdType.INPUT(手动输入)、IdType.ID_WORKER(分布式全局唯一 ID)等。

示例代码:

@TableId(value = "id", type = IdType.AUTO)
private Long id;

这个示例中,id 字段被标识为主键,并且采用自动增长的方式生成主键值。

3. @TableField

@TableField 注解用于标识实体类中的字段与数据库表中的字段的映射关系。可以指定字段名、是否为数据库字段、自定义字段填充策略等。

示例代码:

@TableField(value = "user_name", exist = true, fill = FieldFill.INSERT)
private String userName;

在这个示例中,userName 字段映射到数据库表中的 user_name 字段,且该字段在插入数据时由自定义的填充策略进行填充。

4. @Version

@Version 注解用于实现乐观锁功能。乐观锁是一种多用户并发控制的策略,通过版本号字段来实现数据的同步控制。

示例代码:

@Version
private Integer version;

在这个示例中,version 字段被标记为乐观锁字段,MyBatis-Plus 将在更新数据时自动检查版本号,以确保数据的一致性。

5. @TableLogic

@TableLogic 注解用于实现逻辑删除功能。逻辑删除是一种在数据库中标记数据为删除状态而不是物理删除的方式。

示例代码:

@TableLogic
private Integer deleted;

在这个示例中,deleted 字段被标记为逻辑删除字段,当删除数据时,MyBatis-Plus 将自动将该字段的值设为特定的标识值,表示数据已被逻辑删除。