mybatis-plus入参是List<String> ,怎么使用like查询
时间: 2024-03-01 13:56:11 浏览: 108
如果你想使用 MyBatis-Plus 进行 like 查询,并且参数是 List<String> 类型,可以使用 LambdaQueryWrapper 来构建查询条件,具体可以参考以下代码示例:
```java
List<String> nameList = Arrays.asList("Tom", "Jerry", "Bob");
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.like(User::getName, nameList.get(0))
.or()
.like(User::getName, nameList.get(1))
.or()
.like(User::getName, nameList.get(2));
List<User> users = userMapper.selectList(wrapper);
```
以上代码中,我们使用了 LambdaQueryWrapper 来构建查询条件,其中使用了 like 方法进行 like 查询,方法参数第一个参数是要查询的字段,第二个参数是要查询的值,这里我们传入了 List<String> 类型的 nameList,通过 get 方法获取其中的值来进行 like 查询,使用 or 方法进行多个 like 查询的拼接,最后通过 selectList 方法执行查询操作。
相关问题
mybatis-plus入参是List<String> ,怎么使用like进行模糊查询
如果你想使用 MyBatis-Plus 进行模糊查询,并且参数是 List<String> 类型,可以使用 LambdaQueryWrapper 来构建查询条件,具体可以参考以下代码示例:
```java
List<String> nameList = Arrays.asList("Tom", "Jerry", "Bob");
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.like(User::getName, "%" + nameList.get(0) + "%")
.or()
.like(User::getName, "%" + nameList.get(1) + "%")
.or()
.like(User::getName, "%" + nameList.get(2) + "%");
List<User> users = userMapper.selectList(wrapper);
```
以上代码中,我们使用了 LambdaQueryWrapper 来构建查询条件,其中使用了 like 方法进行模糊查询,方法参数第一个参数是要查询的字段,第二个参数是要查询的值,这里我们传入了 List<String> 类型的 nameList,通过 get 方法获取其中的值来进行 like 查询,使用 or 方法进行多个 like 查询的拼接,最后通过 selectList 方法执行查询操作。需要注意的是,我们在传入参数时,需要在参数的两端加上 `%` 符号,表示在模糊匹配时,匹配前后可以有任意字符。
mybatis-plus like使用
Mybatis-plus的like使用可以通过在Mapper接口中定义方法,使用@Select注解,然后在SQL语句中使用like关键字和%通配符来实现模糊查询。例如:
@Select("select * from user where name like '%${name}%'")
List<User> findByNameLike(@Param("name") String name);
在这个例子中,我们定义了一个findByNameLike方法,它接受一个name参数,并使用@Param注解将其映射到SQL语句中的${name}占位符。在SQL语句中,我们使用like关键字和%通配符来实现模糊查询,查询所有name字段中包含指定字符串的用户记录。
阅读全文