mybatis-plus 模糊查询,不输入查询参数就查询所有数据
时间: 2023-08-13 12:19:45 浏览: 165
可以使用 Mybatis-Plus 的 LambdaQueryWrapper 类来实现模糊查询和查询所有数据的功能。
查询所有数据的方法:
```java
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 执行查询
List<Entity> list = entityMapper.selectList(wrapper);
```
这里的 LambdaQueryWrapper 对象没有设置任何查询条件,所以会查询出所有数据。
模糊查询的方法:
```java
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 设置模糊查询条件
wrapper.like(Entity::getName, "keyword");
// 执行查询
List<Entity> list = entityMapper.selectList(wrapper);
```
这里的 Entity::getName 表示查询实体类中的 name 属性,"keyword" 表示模糊查询的关键字,会查询出 name 属性中包含关键字的数据。
需要注意的是,这里的查询条件是根据实体类的属性来设置的,所以需要确保实体类的属性名称和数据库中的字段名称一致。
相关问题
mybatis-plus 多条件 模糊查询,不输入查询参数就查询所有数据
可以使用 Mybatis-Plus 的 LambdaQueryWrapper 类来实现多条件模糊查询和查询所有数据的功能。
查询所有数据的方法同上,这里不再重复。
多条件模糊查询的方法:
```java
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 设置多条件模糊查询条件
if (StringUtils.isNotBlank(keyword1)) {
wrapper.like(Entity::getName, keyword1);
}
if (StringUtils.isNotBlank(keyword2)) {
wrapper.like(Entity::getDescription, keyword2);
}
// 执行查询
List<Entity> list = entityMapper.selectList(wrapper);
```
这里的 StringUtils.isNotBlank() 方法用于判断关键字是否为空,如果不为空则设置对应的模糊查询条件。需要注意的是,这里的查询条件是根据实体类的属性来设置的,所以需要确保实体类的属性名称和数据库中的字段名称一致。
如果两个关键字都为空,则不设置任何查询条件,会查询出所有数据。
```java
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 执行查询
List<Entity> list = entityMapper.selectList(wrapper);
```
mybatis-plus 多条件 模糊查询,不输入查询参数就查询所有数据 实现分页
可以使用 Mybatis-Plus 的 Page 类来实现多条件模糊查询、分页和查询所有数据的功能。
查询所有数据的方法同上,这里不再重复。
多条件模糊查询和分页的方法:
```java
// 创建分页对象
Page<Entity> page = new Page<>(pageNum, pageSize);
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 设置多条件模糊查询条件
if (StringUtils.isNotBlank(keyword1)) {
wrapper.like(Entity::getName, keyword1);
}
if (StringUtils.isNotBlank(keyword2)) {
wrapper.like(Entity::getDescription, keyword2);
}
// 执行查询
List<Entity> list = entityMapper.selectPage(page, wrapper).getRecords();
```
这里的 Page 对象用于设置分页信息,pageNum 表示当前页码,pageSize 表示每页显示的数据条数。
同时,使用 selectPage() 方法来执行分页查询,这个方法的第一个参数是 Page 对象,用于设置分页信息;第二个参数是 LambdaQueryWrapper 对象,用于设置查询条件。
需要注意的是,这里的查询条件是根据实体类的属性来设置的,所以需要确保实体类的属性名称和数据库中的字段名称一致。
如果两个关键字都为空,则不设置任何查询条件,会查询出所有数据。
```java
// 创建分页对象
Page<Entity> page = new Page<>(pageNum, pageSize);
// 创建 LambdaQueryWrapper 对象
LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>();
// 执行查询
List<Entity> list = entityMapper.selectPage(page, wrapper).getRecords();
```
阅读全文