MybatisPlus中几种条件构造器运用方式

 更新时间:2025年12月06日 14:03:03   作者:The-Venus  
QueryWrapper是Mybatis-Plus提供的一个用于构建SQL查询条件的工具类,提供了各种方法如eq、ne、gt、ge、lt、le、like、notLike、in、notIn、between等来方便地进行条件构造

版本介绍

  • jdk 17
  • SpringBoot 3.1.0
  • druid-spring-boot-starter 1.2.4
  • mysql-connector 8.0.33
  • mybatis-plus 3.5.3.1

QueryWrapper

MybatisPlus的QueryWrapper是一个用于构建SQL查询条件的工具类,它提供了一系列的方法来方便地进行条件构造。

以下是QueryWrapper常用的方法:

eq(column, value):等于查询,指定字段column的值等于value。

示例:

queryWrapper.eq(“name”, “张三”);

ne(column, value):不等于查询,指定字段column的值不等于value。

示例:

queryWrapper.ne(“age”, 20);

gt(column, value):大于查询,指定字段column的值大于value。

示例:

queryWrapper.gt(“salary”, 5000);

ge(column, value):大于等于查询,指定字段column的值大于等于value。

示例:

queryWrapper.ge(“create_time”, “2021-01-01”);

lt(column, value):小于查询,指定字段column的值小于value。

示例:

queryWrapper.lt(“age”, 30);

le(column, value):小于等于查询,指定字段column的值小于等于value。

示例:

queryWrapper.le(“salary”, 10000);

like(column, value):模糊查询,指定字段column的值包含value。

示例:

queryWrapper.like(“name”, “张”);

notLike(column, value):不包含查询,指定字段column的值不包含value。

示例:

queryWrapper.notLike(“name”, “李”);

in(column, values):包含查询,指定字段column的值在values数组中。

示例:

queryWrapper.in(“age”, Arrays.asList(20, 30, 40));

notIn(column, values):不包含查询,指定字段column的值不在values数组中。

示例:

queryWrapper.notIn(“age”, Arrays.asList(50, 60, 70));

between(column, value1, value2):范围查询,指定字段column的值在value1和value2之间。

示例:

queryWrapper.between(“salary”, 5000, 10000);

orderByAsc(column):升序排序,根据指定字段column进行升序排序。

示例:

queryWrapper.orderByAsc(“age”);

orderByDesc(column):降序排序,根据指定字段column进行降序排序。

示例:

queryWrapper.orderByDesc(“salary”);

select(columns):指定要查询的字段,参数columns为字段列表。

示例:

queryWrapper.select(“id”, “name”, “age”);

last(sql):添加自定义的SQL查询条件,参数sql为要添加的SQL条件。

示例:

queryWrapper.last(“LIMIT 10”);

实例

QueryWrapper<User> queryWrapper = new QueryWrapper();
queryWrapper.eq("user_name", user.getUserName());

return selectList(queryWrapper);

LambdaQueryWrapper

// 创建LambdaQueryWrapper对象
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery();

// 设置查询条件
lambdaQueryWrapper
        .eq(User::getUserName, user.getUserName()) ;

// 执行查询
List<User> userList = userMapper.selectList(lambdaQueryWrapper);
return userList;

UpdateWrapper

// 创建UpdateWrapper对象
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();

// 设置更新条件
updateWrapper
        .eq("user_name", user.getUserName());

// 执行更新操作
User updateUser = new User();
updateUser.setPassword(user.getPassword());
int rows = update(user, updateWrapper);
return rows;

LambdaUpdateWrapper

// 创建UpdateWrapper对象
LambdaUpdateWrapper<User> updateWrapper = Wrappers.lambdaUpdate();

// 设置更新条件
updateWrapper
        .eq(User::getUserName, user.getUserName());

// 执行更新操作
User updateUser = new User();
updateUser.setPassword(user.getPassword());
int rows = update(user, updateWrapper);
return rows;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用hadoop查询两两之间有共同好友及他俩的共同好友都是谁

    利用hadoop查询两两之间有共同好友及他俩的共同好友都是谁

    一想到要实现求共同好友的功能,很多人都会想到redis来实现。但是redis存储和数据和计算时需要耗费较多的内存资源。所以文本将介绍另一种方法,即利用Hadoop中的MapReduce来实现,感兴趣的可以了解一下
    2022-01-01
  • MyBatis Generator生成代码及使用方式详解

    MyBatis Generator生成代码及使用方式详解

    这篇文章主要介绍了MyBatis Generator生成代码及使用方式的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • elasticsearch head的安装及使用过程解析

    elasticsearch head的安装及使用过程解析

    这篇文章主要介绍了elasticsearch head的安装及使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 猜你不知道Spring Boot的几种部署方式(小结)

    猜你不知道Spring Boot的几种部署方式(小结)

    这篇文章主要介绍了猜你不知道Spring Boot的几种部署方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 聊一聊new对象与Spring对bean的初始化的差别

    聊一聊new对象与Spring对bean的初始化的差别

    这篇文章主要介绍了聊一聊new对象与Spring对bean的初始化的差别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java消息队列RabbitMQ入门详解

    Java消息队列RabbitMQ入门详解

    这篇文章主要介绍了Java消息队列RabbitMQ入门详解,RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现,AMQP的主要特征是面向消息、队列、路由(包括点对点和发布 /订阅)、可靠性、安全,需要的朋友可以参考下
    2023-07-07
  • Java判断字节流是否是 UTF8编码方法示例

    Java判断字节流是否是 UTF8编码方法示例

    这篇文章主要我大家介绍了Java判断字节流是否是 UTF8编码方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java 字符串转化为字符数组的3种实现案例

    java 字符串转化为字符数组的3种实现案例

    这篇文章主要介绍了java 字符串转化为字符数组的3种实现案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • mybatisplus 配置二级缓存及实战示例

    mybatisplus 配置二级缓存及实战示例

    这篇文章主要介绍了mybatisplus 配置二级缓存及实战示例,包含基础配置、高级特征及实战示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-08-08
  • 解析Java的Spring框架的基本结构

    解析Java的Spring框架的基本结构

    这篇文章主要介绍了Java的Spring框架的基本结构,作者从Spring的设计角度触发解析其基础的架构内容,需要的朋友可以参考下
    2016-03-03

最新评论