Mybatis-Plus--LambdaQueryChainWrapper--使用/实例
创始人
2024-03-04 01:19:22

原文网址:Mybatis-Plus--LambdaQueryChainWrapper--使用/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

        本文用示例介绍Mybatis-Plus的LambdaQueryChainWrapper的用法。

        这种用法是使用Mybatis-Plus进行查询最好用的方法,用过一次后就不会再想用其他写法了。

LambdaQueryChainWrapper的好处

        以前是创建一个条件构造器,再通过mapper或service以条件构造器为参数进行查询。LambdaQueryChainWrapper将前面的两句合二为一,一句来完成带条件的查询。

        LambdaQueryChainWrapper有以下方法获取数据:

  1. page():分页
  2. list():列表
  3. one():获取1个。若有多个结果,则报异常。此方法只用于只有一个结果的情况。

LambdaQueryChainWrapper也拥有LambdaQueryWrapper的好处:

  1. 写法最简洁,最短
  2. 写起来最快
  3. 很方便对齐,可读性好
  4. 不需要Mapper
  5. 不需要手动找到对应的字段名,直接用User::xxx即可。

例1:多条件查询

名字中带“张”且年龄小于30岁

@Autowired
private UserService userService;​public void selectWrapper15() {List users = userService.lambdaQuery().like(User::getName, "张").lt(User::getAge, 30).list();users.forEach(System.out::println);
}

例2:AND中条件是OR

名字中带“王”且年龄小于40或邮箱不为空。

@Autowired
private UserService userService;public void selectWrapper16() {List users = userService.lambdaQuery().like(User::getName, "张").and(user -> user.lt(User::getAge, 40).or().isNotNull(User::getEmail)).list();users.forEach(System.out::println);
}

用法详解

创建Wrapper的方法

法1:service.lambdaQuery()(推荐)

@Autowired
private UserService userService;​public void selectWrapper15() {List users = userService.lambdaQuery().eq(User::getAge, 30).list();users.forEach(System.out::println);
}

法2:用new来创建,需要传入mapper(不推荐)

@Autowired
private UserMapper userMapper;public void test() {List list = new LambdaQueryChainWrapper(userMapper).select(User::getId, User::getName).like(User::getName, "王").list();System.out.println(list);
}

注意

  1. 不能传到mapper中作为条件
    1. 比如:userMapper.selectList(queryWrapper) ; queryWrapper不能是LambdaQueryChainWrapper,可以是LambdaQueryWrapper
  2. 不能作为saveOrUpdate的条件
    1. 比如:userService.saveOrUpdate(user, queryWrapper) ; queryWrapper不能是LambdaQueryChainWrapper,可以是LambdaQueryWrapper

方法大全

 可用的查询

可用的比较

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...