疏窗

  • 首页
  • 生活
  • Java
  • Python
  • Golang
  • 其他
  • 归档

  • 搜索
leetcode jdk 生活 nas nosql 数据库 线程 爬虫 中间件

Mybatis plus lambdaQuery和lambdaUpdate用法

发表于 2021-05-14 | 分类于 Java | 0 | 阅读次数 3015

Mybatis plus lambdaQuery和lambdaUpdate用法

一、条件构造器官方说明

官方文档

二、lambdaQuery

1.基本用法

lambdaQuery().list();//查询用户列表对象

List<User> userList = lambdaQuery().like(User::getName,name).list();//根据姓名模糊查询用户

User user = lambdaQuery().eq(User::getId,id).one();//根据id查询用户

IPage<User> userPage = new Page<>(1l,10l);//分页对象 第一页,每页10条

userPage = lambdaQuery().eq(id != null,User::getId,id)//特定id
       .likeLeft(StrUtil.isNotEmpty(name),User::getName,name)//左匹配姓名
       .ge(minAge != null,User::getAge,minAge)//大于等于11岁
       .le(maxAge != null,User::getAge,maxAge)//小于等于20岁
       .orderByAsc(User::getAge)//根据age升序
       .page(userPage);//分页对象

2.复杂用法

  • a and b
user = lambdaQuery()
                .eq(User::getId,id)
                .eq(User::getName,name)
                .one();
  • a or b
user = lambdaQuery()
                .eq(User::getId,id)
     			.or()
                .eq(User::getName,name)
                .one();
  • a or (b and c)
User user = lambdaQuery()
     			.eq(User::getId,id)
                .or(wp -> wp.eq(User::getId,id).eq(User::getSex,sex))
    			.one();


  • (a and b) or (b and c)
User user = lambdaQuery()
                .and(wp -> wp.eq(User::getAge,maxAge).eq(User::getName,name))
                .or(wp -> wp.eq(User::getId,id).eq(User::getSex,sex))
                .one();
  • a or (b and (c or d )
User user = lambdaQuery()
                .and(wp -> wp.eq(User::getId,id))
                .and(wp -> wp.like(User::getName,name))
                .or(wp ->
                        wp.eq(User::getSex,sex)
                                .and(wpp -> wpp.ge(User::getAge,minAge)).or().le(User::getAge,maxAge))
                .one();

三、lambdaUpdate

1.基本用法

boolean result = lambdaUpdate().remove(); //删除
 
boolean result = lambdaUpdate().update(); //更新

boolean result = lambdaUpdate().eq(User::getId,id).set(User::getName,"李四").update();  //将某个id的用户名改为李四

boolean result = lambdaUpdate().ge(User::getAge,age).set(User::getName,"李四").update();  //将年龄大于某个值的用户名改为李四


打赏作者
疯子虾夫 微信支付

微信支付

疯子虾夫 支付宝

支付宝

  • 本文作者: 疯子虾夫
  • 本文链接: https://hefengwei.com/archives/mybatispluslambdaquery和lambdaupdate用法
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
Java多线程之线程池
Java代理模式
  • 文章目录
  • 站点概览
疯子虾夫

疯子虾夫

24 日志
5 分类
9 标签
RSS
Creative Commons
© 2025 疯子虾夫
由 Halo 强力驱动
|
主题 - NexT.Mist v5.1.4
赣ICP备2024026242号

粤公网安备 44010602005909号