一、queryWrapper是什么
queryWrapper是mybatis plus中实现查询的对象封装操作类,他的层级关系如下
在上面的图片中,
Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
二、使用demo
@PostMapping("/login")
public Result login(@Validated @RequestBody JSONObject jsonObject, HttpServletResponse response) {
User us = jsonObject.toJavaObject(User.class);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username",us.getUsername()).eq("password",us.getPassword());
User user = userService.getOne(queryWrapper);
Assert.notNull(user, "用户不存在");
从数据库中查询一个用户名和密码与传进来相符合的人,并把结果封装为user
三、QueryWrapper的方法
四、总结
上面的博客内容虽然简单,也只展示了一个查询的功能。在你实际使用的时候,可以按照 条件构造器上面包含的的方法,设置你查询数据的条件,调用BaseMapper里相应的方法即可