MyBatisPlus公用字段自动填充
发布人:shili8
发布时间:2025-01-16 09:18
阅读次数:0
**MyBatisPlus 公用字段自动填充**
在实际开发中,我们经常会遇到一些公共字段的填充需求,比如创建时间、更新时间等。这些公共字段通常需要在每个实体类中都进行设置,这样做虽然方便,但也会导致代码重复和维护困难。
MyBatisPlus 提供了一个非常方便的解决方案——自动填充功能。通过配置 MyBatisPlus 的自动填充规则,我们可以让这些公共字段在插入或更新数据时自动填充。
**配置自动填充**
首先,我们需要在 `mybatis-plus-config.xml` 中配置自动填充规则:
xml<configuration> <settings> <!-- 自动填充规则 --> <setting name="autoFillEnabled" value="true"/> </settings> </configuration>
**创建实体类**
接下来,我们需要创建一个实体类,例如 `User`:
javapublic class User { private Long id; private String username; private Date createTime; private Date updateTime; // getter和setter方法}
**配置自动填充规则**
在 `User` 实体类中,我们需要配置自动填充规则。我们可以使用 `@TableField` 注解来指定公共字段的填充规则:
javapublic class User { private Long id; private String username; @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.UPDATE) private Date updateTime; // getter和setter方法}
在上面的代码中,我们使用 `@TableField` 注解来指定 `createTime` 和 `updateTime` 这两个公共字段的填充规则。其中,`fill = FieldFill.INSERT` 表示在插入数据时自动填充 `createTime` 字段,而 `fill = FieldFill.UPDATE` 表示在更新数据时自动填充 `updateTime` 字段。
**使用 MyBatisPlus 进行 CRUD 操作**
最后,我们可以使用 MyBatisPlus 进行 CRUD 操作。例如,插入一个新用户:
javaUser user = new User(); user.setUsername("张三"); user.setCreateTime(new Date()); user.setUpdateTime(new Date()); // 使用MyBatisPlus进行插入操作userMapper.insert(user);
在上面的代码中,我们创建了一个 `User` 实体类的对象,并设置了其公共字段。然后,我们使用 MyBatisPlus 进行插入操作。在插入数据时,MyBatisPlus 会自动填充 `createTime` 和 `updateTime` 这两个公共字段。
**总结**
通过上面的例子,我们可以看到 MyBatisPlus 的自动填充功能是非常方便的。我们只需要配置自动填充规则和在实体类中使用 `@TableField` 注解,就可以让这些公共字段在插入或更新数据时自动填充。
这种方式不仅减少了代码重复,还提高了开发效率和维护性。因此,MyBatisPlus 的自动填充功能是每个开发者的必备技能之一。