mybaits plus save 怎么排除实体类的字段不添加
时间: 2023-12-10 07:38:37 浏览: 201
MyBaits-plus代码生成【Generator】
MyBatis Plus 提供了 `InsertFill` 接口来实现自动填充插入数据时的字段;如果要排除某些字段不添加,可以在实体类中使用 `@TableField(exist = false)` 注解来标记不需要进行插入的字段。
具体步骤如下:
1. 在实体类中,使用 `@TableField(exist = false)` 注解标记不需要插入的字段,例如:
```java
public class User {
private Long id;
private String name;
@TableField(exist = false)
private String password;
// 省略getter和setter方法
}
```
2. 在 `InsertFill` 接口的实现类中,通过 `metaObject.setValue` 方法排除不需要插入的字段,例如:
```java
public class MyInsertFill implements InsertFill {
@Override
public void insertFill(MetaObject metaObject) {
Object fieldValue = getFieldValByName("password", metaObject);
if (fieldValue == null) {
metaObject.setValue("password", "123456");
}
}
}
```
在这个例子中,我们通过 `getFieldValByName` 方法获取到 `password` 字段的值,如果该值为 `null`,则通过 `metaObject.setValue` 方法设置默认值为 `123456`,从而排除了 `password` 字段的插入操作。
阅读全文