mybatisplus的in
时间: 2023-10-03 18:06:41 浏览: 121
mybatisplus的in查询可以通过LambdaQueryWrapper或QueryWrapper的in方法来实现。下面是两种常见的写法:
使用LambdaQueryWrapper:
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.in(User::getId, idList);
List<User> userList = userService.list(queryWrapper);
使用QueryWrapper:
QueryWrapper<User> queryWrapper = Wrappers.query();
queryWrapper.in("id", idList);
List<User> userList = userService.list(queryWrapper);
其中,idList是一个包含需要查询的id的List集合。
相关问题
mybatisplus in
MyBatis Plus是基于MyBatis的增强工具库,通过简化MyBatis的使用,提供了更加便捷的操作数据库的方法和功能。它可以在中小型项目中直接使用,省去了繁琐的XML配置和SQL语句的编写;在大型项目中,可以与原生的MyBatis结合使用,利用MyBatis Plus提供的简化、自动生成代码等功能,减少开发工作量,提高开发效率。MyBatis Plus提供了自动生成代码、注解支持、插件扩展等功能,极大地提高了开发效率。虽然在某些复杂的场景下仍然需要手动编写SQL语句,但对于绝大多数的项目来说,MyBatis Plus已经足够方便和强大了。
mybatisplus inSql
MyBatis Plus provides the `inSql` method to generate dynamic SQL queries with an IN clause. This method allows you to pass a subquery or a list of values as a parameter.
Here's an example of how to use `inSql` in MyBatis Plus:
```java
List<Long> userIds = Arrays.asList(1L, 2L, 3L);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.inSql("user_id", "SELECT id FROM user WHERE age > 18") // Using subquery
.inSql("id", String.join(",", userIds)); // Using a list of values
List<User> users = userMapper.selectList(queryWrapper);
```
In the example above, we use `inSql` twice. The first call uses a subquery to fetch the user IDs from the `user` table where the age is greater than 18. The second call uses a list of values directly.
Please note that the `inSql` method is available in the `QueryWrapper` class, which is part of the MyBatis Plus library.
阅读全文
相关推荐













