MyBatisPlus查詢


一,基本查詢

  //測試查詢By Id
 @Test public void testselectById(){ TUser tUser = tUserMapper.selectById(1L); System.out.println(tUser); }

// 測試批量查詢!By ids @Test public void testselectByBatchid(){ List<TUser> users = tUserMapper.selectBatchIds (Arrays. asList(1, 2, 3)); users. forEach (System.out::println); }


//按條件查詢之一使用map操作 @Test public void testselectByBatchIds() { HashMap<String, Object> map = new HashMap<String, Object>(); //自定義要查詢 map.put("username", "zl222"); List<TUser> tUsers = tUserMapper.selectByMap (map); tUsers.forEach (System.out::println); }


   構造器查詢

 

 構造器圖文介紹

  • Wrapper : 條件構造抽象類,最頂端父類,抽象類中提供4個方法西面貼源碼展示
  • AbstractWrapper : 用於查詢條件封裝,生成 sql 的 where 條件
  • AbstractLambdaWrapper : Lambda 語法使用 Wrapper統一處理解析 lambda 獲取 column。
  • LambdaQueryWrapper :看名稱也能明白就是用於Lambda語法使用的查詢Wrapper
  • LambdaUpdateWrapper : Lambda 更新封裝Wrapper
  • QueryWrapper : Entity 對象封裝操作類,不是用lambda語法
  • UpdateWrapper : Update 條件封裝,用於Entity對象更新操作

 

 

 

使用方法

 

 

 小小一例:

     QueryWrapper<TmStockroom> wrapper = new QueryWrapper<>(); wrapper.eq("code",req.getCode()) .or() .eq("name",req.getName()); List<TmStockroom> tmStockrooms = stockroomCommandMapper.selectList(wrapper); //tmStockrooms.forEach(System.out::println);
        if(tmStockrooms.size()!=0){ throw new BusinessException("倉庫code或者倉庫名稱已存在"); }

 

控制台sql:

 

 

 

 

 

二,分頁查詢

1,引入MyBatisPlus插件

  @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }

2,分頁查詢

  @Test public void testPage(){ //第一個參數:當前頁數 //第二個參數:顯示數據條數
        Page<TUser> tUserPage = new Page<>(1,5); IPage<TUser> tUserIPage = tUserMapper.selectPage(tUserPage, null); tUserIPage.getRecords().forEach(System.out::println); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM