Mybatis-plus學習(四)——MybatiPlus的Wrapper的使用

陌意隨影發表於2020-12-06

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

在這裡插入圖片描述

4.8本部落格已經同步到個人部落格,如有需要請移步:http://moyisuiying.com/index.php/mybatis/409.html

相關文章