MyBatis-Plus提供的注解

发布时间:2024年01月16日

第一章、常用注解介绍

MyBatis使用Mapper.XML文件来进行数据表映射。有resultMap、sql、insert、update、delete和select等元素。其中resultMap用于描述如何从数据库结果集中加载对象。

MyBatis-Plus可以使用XML配置进行数据表映射,也可以使用注解来映射。
下面是注解方式详细介绍:

@TableName:
@TableName("数据库的表名"):用于指定实体类对应的数据库表名。

//举例
@TableName("table_user")  
public class User {  
    // ...  
}
@TableId:
@TableId("主键名"):用于指定实体类中的某个属性作为数据库表的主键。
@TableId(value = "id", type = IdType.AUTO):自增
@TableId(value = "id", type = IdType.ID_WORKER_STR):分布式全局唯一ID字符串类型
@TableId(value = "id", type = IdType.INPUT):自行输入
@TableId(value = "id", type = IdType.ID_WORKER):分布式全局唯一ID 长整型类型
@TableId(value = "id", type = IdType.UUID)32UUID字符串
@TableId(value = "id", type = IdType.NONE):无状态

//举例
@TableId(value = "id", type = IdType.AUTO)  
private Long id;
@TableField:
@TableField("字段名"):用于指定实体类中的某个属性与数据库表中的某个字段的对应关系。
@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。
@TableField(exist = true):表示该属性为数据库表字段。
@TableField(condition = SqlCondition.LIKE):表示该属性可以模糊搜索。
@TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!

//举例
@TableField("username")  
private String username;

第二章、不常用注解

@TableLogic:
@TableLogic:用于在执行删除操作时,启用或禁用级联删除功能。

//举例
@TableLogic(logicType = LogicType.KEEP)  
private Boolean isDeleted;
@EnumValue:
@EnumValue: 用于将枚举类型属性映射到数据库表中的字符串类型字段。

//举例
public enum Gender {  
    MALE, FEMALE;  
}  
  
@TableField("gender")  
@EnumValue(value = "name")  
private Gender gender;
@Version:
@Version:乐观锁注解、在使用乐观锁时,还需要在 MyBatis-Plus 的配置文件
中启用乐观锁插件,并配置乐观锁的策略。这样可以保证乐观锁功能的正确性。

//举例
@Version  
private Integer version;
@JsonProperty:
@JsonProperty: 用于实体类的属性上,作用是重命名属性,以便在反序列化时使用不同的名称。
文章来源:https://blog.csdn.net/baomingshu/article/details/135634015
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。