mybatis-plus 如何不将父类的数据上传数据库
时间: 2024-01-21 22:18:21 浏览: 30
在使用 Mybatis-Plus 进行数据持久化时,默认情况下会映射实体类中的所有属性到数据库表中。如果不想将父类的属性上传到数据库中,可以使用 `@TableField` 注解来标记该属性不进行数据库映射。
示例代码:
```java
public class BaseEntity implements Serializable {
@TableField(exist = false) // 标记该属性不进行数据库映射
private Integer id;
// 省略其他属性和方法
}
public class User extends BaseEntity {
private String name;
private Integer age;
// 省略其他属性和方法
}
```
在上述代码中,`BaseEntity` 类中的 `id` 属性通过 `exist = false` 标记不进行数据库映射。当 `User` 类继承 `BaseEntity` 时,`id` 属性不会被上传到数据库中。
另外,如果 `BaseEntity` 中的属性需要在查询时使用,可以使用 `@TableField` 注解的 `select` 属性来标记该属性只能在查询时使用,例如:
```java
public class BaseEntity implements Serializable {
@TableField(select = false) // 标记该属性只能在查询时使用
private String createdBy;
// 省略其他属性和方法
}
```
在上述代码中,`createdBy` 属性通过 `select = false` 标记只能在查询时使用,不会被上传到数据库中。