mybatis-plus模糊查询
时间: 2023-03-29 09:01:19 浏览: 157
可以使用Mybatis-Plus提供的QueryWrapper类中的like方法进行模糊查询。例如:
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张三");
这样就可以查询出所有名字中包含"张三"的用户。
相关问题
mybatis-plus模糊查询加条件查询
Mybatis-plus 提供了方便的 API 来实现模糊查询和条件查询。
模糊查询可以使用 `like` 来实现,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.like("name", "keyword");
```
这里的 `Entity` 是实体类,`name` 是字段名,`keyword` 是要查询的关键字。
条件查询可以使用 `eq`、`ne`、`gt`、`ge`、`lt`、`le` 等方法,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18)
.ne("status", 0)
.gt("salary", 5000)
.le("create_time", "2022-01-01");
```
这里的 `Entity` 是实体类,`age`、`status`、`salary`、`create_time` 是字段名,数字和日期类型使用对应的方法,字符串类型使用 `eq`、`ne`、`like` 等方法。通过组合多个条件可以实现更复杂的查询。
另外,如果需要使用多个条件进行查询,可以使用 `and` 和 `or` 方法来连接多个查询条件,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18)
.or()
.eq("age", 20)
.and()
.like("name", "keyword");
```
这里的 `Entity` 是实体类,`age`、`name` 是字段名,使用 `or` 方法表示或者,使用 `and` 方法表示并且。
mybatis-plus 模糊查询,不输入查询参数就查询所有数据
可以使用 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 属性中包含关键字的数据。
需要注意的是,这里的查询条件是根据实体类的属性来设置的,所以需要确保实体类的属性名称和数据库中的字段名称一致。
阅读全文