MyBatis-Plus中的QueryWrapper

简介: MyBatis-Plus中的QueryWrapper

MyBatis-Plus中的QueryWrapper

本文讲解MyBatis-Plus 中的 QueryWrapper

详细讲解

MyBatis-Plus 中的 QueryWrapper

QueryWrapper 是 MyBatis-Plus 中封装的一种查询条件构造器,它有多个实例方法可以链式调用,能够方便地构造各种查询条件。下面将结合具体案例,给出一些常见的使用方式。

基本操作

在进行基本的查询时,我们往往只需要指定目标表名和查询条件即可,对应到 QueryWrapper 中则是如下所示:

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三").eq("age", 18);
List<User> users = userMapper.selectList(wrapper);

上述代码中,我们传入了 user 表的查询条件,并执行了查询操作,最后返回了符合条件的用户列表。

另外,还有一些针对某些常见场景的简写方法,例如 eq、ne、lt、le、gt、ge 等等,都能够快速构造相应的查询条件。

// 查询年龄大于等于 18 岁的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.ge("age", 18);
List<User> users = userMapper.selectList(wrapper);
// 查询性别为男且年龄小于 30 的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("sex", "男").lt("age", 30);
List<User> users = userMapper.selectList(wrapper);

Like 查询

在进行模糊查询时,我们需要使用到 like 关键字。在 QueryWrapper 中,则需要调用 like、notLike 等方法。

// 查询用户名包含 "张" 的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张");
List<User> users = userMapper.selectList(wrapper);
// 查询年龄不包含 "1" 的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notLike("age", "1");
List<User> users = userMapper.selectList(wrapper);

Between 查询

如果需要查询某个区间内的数据,就需要用到 between 关键字。在 QueryWrapper 中也有类似的操作:

// 查询年龄在 18 到 30 之间的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age", 18, 30);
List<User> users = userMapper.selectList(wrapper);

In 查询

在向数据库查询一组指定值时,可以使用 in 关键字。在 QueryWrapper 中同样有类似的实现方式:

// 查询男性用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
List<String> sexList = Arrays.asList("男");
wrapper.in("sex", sexList);
List<User> users = userMapper.selectList(wrapper);

以上就是 MyBatis-Plus 中常见的 QueryWrapper 操作。通过灵活地调用不同方法,我们可以方便地完成各种条件查询操作。

相关文章
|
6月前
|
Java 数据库连接 数据库
Mybatis-plus中的QueryWrapper的多种用法!(总结)
Mybatis-plus中的QueryWrapper的多种用法!(总结)
708 0
|
4月前
|
SQL
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
|
9天前
|
SQL Java 数据库连接
mybatisplus QueryWrapper or写法
# MyBatis-Plus QueryWrapper的OR写法详解 MyBatis-Plus是一款基于MyBatis的增强工具,提供了丰富的简化操作,使开发者能更高效地进行数据库操作。`QueryWrapper`是MyBatis-Plus中用于构建查询条件的一个核心类,支持多种条件组合,包括AND和OR条件。本文将详细介绍如何使用 `QueryWrapper`实现OR条件的查询。 ## QueryWrapper简介 `QueryWrapper`用于构建动态SQL查询条件,它封装了各种条件构造方法,使得查询条件的构建更加简洁和直观。`QueryWrapper`中提供了丰富的方法来支持多
15 0
|
6月前
|
SQL 缓存 安全
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
7798 2
|
5月前
|
SQL IDE Java
通过一次性能优化,再次记牢了mybatisplus的QueryWrapper、LambdaQueryWrapper、AbstractWrapper这三者之间的关系...
本文描述了一次针对SpringBoot应用中MyBatisPlus分页查询的性能优化过程。在优化时,作者重写了BaseMapper的`selectPage`方法,通过`Wrapper`的`between`操作添加了ID区间限制以提升SQL执行效率。然而,由于在业务服务类中循环调用分页查询时未每次都创建新的`Wrapper`对象,导致`id BETWEEN ? AND ?`条件重复出现在SQL中。那么,如何解决这个问题呢?
504 5
|
Java 数据库连接 mybatis
mybatis plus常用的QueryWrapper条件参数
mybatis plus常用的QueryWrapper条件参数
153 0
mybatis plus常用的QueryWrapper条件参数
MybatisPlus 中QueryWrapper 方法介绍
MybatisPlus 中QueryWrapper 方法介绍
145 0
MybatisPlus 中QueryWrapper 方法介绍
|
1月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
105 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
52 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
288 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个