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