Mybatis-plus sql语句LT、LE、EQ、NE、GE、GT的用法

 更新时间:2025年12月12日 15:52:56   作者:Yweir  
本文介绍了如何使用MyBatis-Plus中的QueryWrapper类来构建复杂的查询条件,包括allEq、eq、ne、gt、ge、lt、le、between、notBetween等方法,通过链式调用这些方法,可以方便地组合多个条件,生成相应的SQL查询语句

介绍

allEq 全部eq(或个别isNull)

allEq(Map<R, V> params)
allEq(Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, Map<R, V> params, boolean null2IsNull)

  • 例1: allEq({id:1,name:“老王”,age:null})—>id = 1 and name = ‘老王’ and age is null
  • 例2: allEq({id:1,name:“老王”,age:null}, false)—>id = 1 and name = ‘老王’

eq 等于 =

  • 例: eq(“name”, “老王”)—>name = ‘老王’

ne 不等于 <>

  • 例: ne(“name”, “老王”)—>name <> ‘老王’

gt 大于 >

  • 例: gt(“age”, 18)—>age > 18

ge 大于等于 >=

  • 例: ge(“age”, 18)—>age >= 18

lt 小于 <

  • 例: lt(“age”, 18)—>age < 18

le 小于等于 <=

  • 例: le(“age”, 18)—>age <= 18

between BETWEEN 值1 AND 值2

  • 例: between(“age”, 18, 30)—>age between 18 and 30

notBetween NOT BETWEEN 值1 AND 值2

  • 例: notBetween(“age”, 18, 30)—>age not between 18 and 30

示例代码

假设我们有一个名为 User 的实体类,并且我们想要根据某些条件查询用户列表:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;

public class UserService {
    public List<User> getUsersByConditions() {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        
        // 构建查询条件
        queryWrapper.eq("age", 20)          // 年龄等于20
                    .ne("status", "inactive") // 状态不等于'inactive'
                    .gt("score", 80)         // 分数大于80
                    .ge("registration_date", "2023-01-01") // 注册日期大于等于2023年1月1日
                    .lt("last_login", "2023-12-31") // 最后登录时间小于2023年12月31日
                    .le("update_time", "2024-01-01"); // 更新时间小于等于2024年1月1日
        
        // 执行查询
        return userMapper.selectList(queryWrapper);
    }
}

在这个例子中:

我们使用了 QueryWrapper 来构建复杂的查询条件。

通过链式调用这些方法,可以非常方便地组合多个条件,从而生成相应的 SQL 查询语句。

请注意:

实际使用时你需要替换 “column_name” 和 value 为你的具体字段名和值,并确保类型匹配正确。

此外,如果你使用的是最新版本的 MyBatis-Plus,可能还会有一些额外的方法或改进,因此建议查阅官方文档获取最准确的信息。

总结

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

相关文章

  • Java实现inputstream流的复制代码实例

    Java实现inputstream流的复制代码实例

    这篇文章主要介绍了Java实现inputstream流的复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • spring学习教程之@ModelAttribute注解运用详解

    spring学习教程之@ModelAttribute注解运用详解

    这篇文章主要给大家介绍了关于spring学习教程之@ModelAttribute注释运用的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Java项目如何打包成Jar的实现步骤

    Java项目如何打包成Jar的实现步骤

    一般情况下我们都是使用Java项目直接部署发布,有时需要我们将写好的项目打成jar包,方便后期调用,本文主要介绍了Java项目如何打包成Jar,感兴趣的可以了解一下
    2023-11-11
  • SpringBoot整合RabbitMQ实现消息确认机制

    SpringBoot整合RabbitMQ实现消息确认机制

    这篇文章主要介绍了SpringBoot整合RabbitMQ实现消息确认机制,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 解决Sentinel链路模式规则无效问题

    解决Sentinel链路模式规则无效问题

    本文介绍了如何在Spring Cloud Alibaba项目中使用Sentinel链路流控规则,并解决规则不生效的问题,通过关闭Sentinel过滤器,可以避免重复统计请求
    2025-01-01
  • Java中的@PreAuthorize注解使用详解

    Java中的@PreAuthorize注解使用详解

    这篇文章主要介绍了Java中的@PreAuthorize注解使用详解,@PreAuthorize注解会在方法执行前进行权限验证,支持Spring EL表达式,它是基于方法注解的权限解决方案,需要的朋友可以参考下
    2023-10-10
  • Java中String、StringBuffer和StringBuilder的区别

    Java中String、StringBuffer和StringBuilder的区别

    这篇文章主要介绍了Java中String、StringBuffer和StringBuilder的区别,StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串char[]value但是没有final关键字修饰,所以这两个可变,需要的朋友可以参考下
    2024-01-01
  • Spring Bean配置方式总结

    Spring Bean配置方式总结

    定义Spring Bcan的3种方式分别是:基于XML 的方式配置、基于注解扫播方式配置、基于元数据类的配置,本文就通过代码示例给大家详细讲讲这三种配置方式,需要的朋友可以参考下
    2023-12-12
  • java的Builder原理和实现详解

    java的Builder原理和实现详解

    大家好,本篇文章主要讲的是java的Builder原理和实现详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Java加解密工具类源码示例

    Java加解密工具类源码示例

    最近在项目中接触到了数据加解密的业务,数据加密技术是网络中最基本的安全技术,这篇文章主要给大家介绍了关于Java加解密工具类源码的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论