@TableField 支持查询的自动填充吗
时间: 2023-10-12 11:20:38 浏览: 80
autoComplete 自动补全 支持中文补全 中间字查询
是的,`@TableField`注解不仅支持插入和更新时的自动填充,还支持查询条件的自动填充。
在使用`Mybatis-Plus`进行查询时,我们可以使用`Wrapper`作为查询条件的封装类,`Wrapper`中包含了查询条件、排序规则等信息。`Mybatis-Plus`提供了一个叫做`Condition`类的工具类,可以方便地对`Wrapper`进行自动填充。
具体实现方式如下:
1. 在实体类中添加注解`@TableField(fill = FieldFill.INSERT_UPDATE)`。这个注解表示在执行插入或更新操作时,会自动填充这个字段的值。
```
public class User {
private Long id;
private String name;
private Integer age;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
// ...getter/setter
}
```
2. 在查询时,使用`Condition`类的静态方法来自动填充查询条件,如下所示:
```
QueryWrapper<User> wrapper = Condition.<User>create()
.eq("name", "test")
.eq("age", 20);
List<User> userList = userMapper.selectList(wrapper);
```
这样就可以使用`Mybatis-Plus`自动填充查询条件了。在执行查询时,`Mybatis-Plus`会将实体类中标记为`@TableField(fill = FieldFill.INSERT_UPDATE)`的字段自动填充到查询条件中,从而简化了查询条件的编写。
阅读全文