@Data @TableName("INFO_CATE") public class Cate { @JsonSerialize(using= ToStringSerializer.class) private Long id; private String name; private Integer sort; @TableField("is_active") private Boolean active; @JsonIgnore @TableField("is_deleted") private Boolean deleted; @JsonIgnore @TableField(fill = FieldFill.INSERT, select = false) private LocalDateTime createTime; @JsonIgnore @TableField(fill = FieldFill.INSERT_UPDATE, select = false) private LocalDateTime updateTime; }
时间: 2024-04-20 15:24:04 浏览: 153
MybatisPlus中@TableField注解的使用详解
3星 · 编辑精心推荐
这段代码是一个使用了 Lombok 注解的实体类,并且使用了 MyBatis Plus 的注解进行数据库映射。让我为您解释一下每个注解的作用:
- `@Data`:这是 Lombok 注解之一,它会自动生成 `toString()`、`equals()`、`hashCode()`、`getter` 和 `setter` 等方法。
- `@TableName("INFO_CATE")`:这是 MyBatis Plus 注解,用于指定实体类对应的数据库表名。
- `@JsonSerialize(using = ToStringSerializer.class)`:这是 Jackson 注解,用于指定序列化时使用的自定义序列化器,将 Long 类型的 id 序列化为字符串。
- `@TableField("is_active")`:这是 MyBatis Plus 注解,用于指定实体类字段对应的数据库列名。
- `@JsonIgnore`:这是 Jackson 注解,用于指定在序列化和反序列化过程中忽略该字段。
- `@TableField(fill = FieldFill.INSERT, select = false)`:这是 MyBatis Plus 注解,用于指定在插入数据时填充该字段的值,并且在查询时不查询该字段。
- `private LocalDateTime createTime;` 和 `private LocalDateTime updateTime;`:这两个字段使用了 `@TableField` 注解,默认情况下 MyBatis Plus 会自动填充这两个字段的值为当前时间。
通过以上注解的配置,可以方便地实现实体类与数据库表之间的映射和操作。希望这个解答能对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文