许昌网站建设汉狮怎么样,百度官方,网站商城前台模板,技术培训平台LambdaQueryChainWrapper是MyBatis-Plus中的一个链式查询封装类#xff0c;用于构建带有条件的查询语句。
LambdaQueryChainWrapper
可以通过链式调用一系列方法来构建查询条件。这些方法包括eq、ne、gt、ge、lt、le等等#xff0c;用于设置等于、不等于、大于、大于等于、…LambdaQueryChainWrapper是MyBatis-Plus中的一个链式查询封装类用于构建带有条件的查询语句。
LambdaQueryChainWrapper
可以通过链式调用一系列方法来构建查询条件。这些方法包括eq、ne、gt、ge、lt、le等等用于设置等于、不等于、大于、大于等于、小于、小于等于等条件。可以用实体类的属性名作为参数避免直接写数据库表字段名。不支持 分组过滤。没法使用聚合函数。
使用场景
one() 查询一条记录list() 查询多条记录page() 分页查询
示例代码 /*** 链式查询: * 1.使用lambda表达式 ,通过方法引用的方式来使用实体字段名的操作* 避免直接写数据库表字段名时的错写名字* 2.不支持 分组过滤*/Testpublic void test1(){System.out.println(------//链式查询: 使用 Lambda 表达式的链式查询对象--.one);LambdaQueryChainWrapperUser lambdaQueryChainWrappernew LambdaQueryChainWrapper(userMapper);//User one1lambdaQueryChainWrapper.eq(User::getId,1).one();User one3lambdaQueryChainWrapper.like(User::getName,up).orderByDesc(User::getId).last(limit 1).one();//获取满足条件且排序后的第一条记录System.out.println(one3);System.out.println(---- //链式查询: 使用 Lambda 表达式的链式查询对象--.list);LambdaQueryChainWrapperUser lambdaQueryWrapper1 new LambdaQueryChainWrapper(userMapper);ListUser userList1lambdaQueryWrapper1.ge(User::getAge, 1).like(User::getName, up).orderByDesc(User::getId).list();//获取满足条件的所有记录userList1.forEach(System.out::println);//需要重写user的toString()System.out.println(---//链式查询: 使用 Lambda 表达式的链式查询对象--分页查询 .page);int pageNum1;int pageSize2;LambdaQueryChainWrapperUser lambdaQueryWrapper2 new LambdaQueryChainWrapper(userMapper);PageUser userPagelambdaQueryWrapper2.ge(User::getAge, 1).like(User::getName, up).orderByDesc(User::getId).page(new Page(pageNum, pageSize));//返回分页对象ListUser userList2 userPage.getRecords();//分页数据long totaluserPage.getTotal();//数据总数System.out.println(totaltotal);userList2.forEach(System.out::println);System.out.println(---链式查询不支持分组过滤。直接使用基础的QueryWrapper--分组过滤 groupBy having);QueryWrapperUser wrappernew QueryWrapper();wrapper.select(version,sum(age) as num).groupBy(version).having(sum(age)0).orderByDesc(num);//使用Map获取返回结果ListMapString,Object listuserMapper.selectMaps(wrapper);list.forEach(System.out::println);}