mybatisplus 有些不需要自动填充
时间: 2023-07-28 17:33:23 浏览: 62
可以通过在实体类的对应字段上添加`@TableField`注解,并设置`exist`属性为`false`,来告诉 MyBatis Plus 不需要对该字段进行自动填充。例如:
```java
@TableField(exist = false)
private String notNeedAutoFillField;
```
这样,对于`notNeedAutoFillField`字段,即使在使用 MyBatis Plus 的自动填充功能时,也不会对其进行填充。
相关问题
mybatisplus自动填充不生效
您好!对于 MyBatis Plus 的自动填充功能,可能出现不生效的情况有几种可能的原因。
1. 未配置自动填充插件:首先,请确保已经正确配置了 MyBatis Plus 的自动填充插件。您可以通过在配置类中添加 `@EnableTransactionManagement` 注解来启用自动填充功能。并且在实体类中使用 `@TableField(fill = FieldFill.INSERT)` 或 `@TableField(fill = FieldFill.INSERT_UPDATE)` 注解来标记需要自动填充的字段。
示例配置:
```java
@Configuration
@EnableTransactionManagement
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加自动填充插件
interceptor.addInnerInterceptor(new AutoFillInterceptor());
return interceptor;
}
}
```
2. 字段命名不符合规范:MyBatis Plus 的自动填充功能默认会根据字段名进行匹配。请确保您的实体类字段命名与数据库表字段命名一致,或者通过 `@TableField(value = "db_column_name")` 注解指定数据库表字段名称。
示例代码:
```java
public class User {
@TableField(fill = FieldFill.INSERT)
private String createBy;
// getter/setter 省略
}
```
3. 数据库字段类型不匹配:自动填充功能要求字段类型为日期时间类型(如 java.util.Date 或 java.time.LocalDateTime),如果数据库字段类型不匹配,可能导致自动填充不生效。
请检查以上几点,如果问题仍然存在,请提供更多的相关代码和配置信息,以便我能够更好地帮助您解决问题。
mybatisplus 自动填充不更新
mybatisplus提供了自动填充功能,可以在插入数据时自动填充createTime和updateTime字段为当前时间,在更新数据时只更新updateTime字段。具体实现可以通过在实体类的对应字段上加上@TableField注解,并设置fill属性为FieldFill.INSERT或FieldFill.INSERT_UPDATE来实现自动填充功能。
参考链接:https://mp.baomidou.com/guide/auto-fill-metainfo.html