Mybatis-plus学习(四)——MybatiPlus的Wrapper的使用

发布于 2020-12-05  2986 次阅读


4Wrapper的使用

4.1Wrapper的类图体系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e5cs43aj-1607187310991)(E:\新技术学习\java_study\mybatis-plus学习\images\1470521-20200408175328100-117288012.png)]

4.2wapper介绍

  • Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
  • AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
  • AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
  • LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
  • LambdaUpdateWrapper : Lambda 更新封装Wrapper
  • QueryWrapper : Entity 对象封装操作类,不是用lambda语法
  • UpdateWrapper : Update 条件封装,用于Entity对象更新操作

QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类
用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件
注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为

4.3常用方法

在这里插入图片描述

4.4方法详情:https://baomidou.com/guide/wrapper.html#abstractwrapper

4.5测试查询

@Test
    public void testGetOneByWrapper(){
        QueryWrapper<Account> queryWrapper = new QueryWrapper<>();
        Map<String,Object> map = new HashMap<>();
        map.put("password","b");
        map.put("name",null);
        queryWrapper.allEq(map, false);
        Account account = accountService.getOne(queryWrapper);
        System.out.println(account);
    }

4.6测试更新

@Test
    public void testUpDateByWrapper(){
        Account account = new Account(null,"b","bb");
        UpdateWrapper<Account> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id",19);
        accountService.update(account,updateWrapper);
    }

4.7测试的源代码已上传到GitHub中:https://github.com/LJF2402901363/java_study.git

在这里插入图片描述

繁华落尽,雪花漫天飞舞。