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 操作。通过灵活地调用不同方法,我们可以方便地完成各种条件查询操作。

相关文章
|
Java 数据库连接 数据库
Mybatis-plus中的QueryWrapper的多种用法!(总结)
Mybatis-plus中的QueryWrapper的多种用法!(总结)
2892 0
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
|
SQL 缓存 安全
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
深入解析MyBatis-Plus LambdaQueryWrapper与QueryWrapper:高效数据查询的秘密
13816 2
|
SQL Java 数据库连接
mybatisplus QueryWrapper or写法
# MyBatis-Plus QueryWrapper的OR写法详解 MyBatis-Plus是一款基于MyBatis的增强工具,提供了丰富的简化操作,使开发者能更高效地进行数据库操作。`QueryWrapper`是MyBatis-Plus中用于构建查询条件的一个核心类,支持多种条件组合,包括AND和OR条件。本文将详细介绍如何使用 `QueryWrapper`实现OR条件的查询。 ## QueryWrapper简介 `QueryWrapper`用于构建动态SQL查询条件,它封装了各种条件构造方法,使得查询条件的构建更加简洁和直观。`QueryWrapper`中提供了丰富的方法来支持多
1305 0
|
SQL IDE Java
通过一次性能优化,再次记牢了mybatisplus的QueryWrapper、LambdaQueryWrapper、AbstractWrapper这三者之间的关系...
本文描述了一次针对SpringBoot应用中MyBatisPlus分页查询的性能优化过程。在优化时,作者重写了BaseMapper的`selectPage`方法,通过`Wrapper`的`between`操作添加了ID区间限制以提升SQL执行效率。然而,由于在业务服务类中循环调用分页查询时未每次都创建新的`Wrapper`对象,导致`id BETWEEN ? AND ?`条件重复出现在SQL中。那么,如何解决这个问题呢?
1325 5
|
Java 数据库连接 mybatis
mybatis plus常用的QueryWrapper条件参数
mybatis plus常用的QueryWrapper条件参数
264 0
mybatis plus常用的QueryWrapper条件参数
MybatisPlus 中QueryWrapper 方法介绍
MybatisPlus 中QueryWrapper 方法介绍
209 0
MybatisPlus 中QueryWrapper 方法介绍
|
5月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
994 1
Spring boot 使用mybatis generator 自动生成代码插件
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
675 0
|
10月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
456 2