LambdaQueryWrapper 转QueryWrapper
时间: 2025-01-09 22:53:38 浏览: 72
在Mybatis-Plus中,LambdaQueryWrapper和QueryWrapper都是用于构建动态查询条件的工具。LambdaQueryWrapper在Mybatis-plus 3.0.7之后版本更倾向于使用,它基于Java 8的lamda表达式,使得查询构建更加简洁直观。
如果你想要从LambdaQueryWrapper切换到QueryWrapper,特别是在处理复杂多表关联查询时,因为QueryWrapper允许直接编写SQL语句,所以你可以这样做:
1. **使用LambdaQueryWrapper**: 如果仅涉及单表操作,如[^3]所示,你可以使用LambdaQueryWrapper构建简单条件,如`queryWrapper.in(UacCode::getCodeType, codeTypes)`。
2. **转换到QueryWrapper**: 当涉及到多表联查或者需要编写自定义的SQL逻辑时,你可以创建一个新的QueryWrapper实例,然后手动设置条件。例如,如果你有一个复杂的JOIN查询,可能需要这样写[^1]:
```java
// 假设有个复杂的多表联查
String sql = "SELECT * FROM table1 JOIN table2 ON table1.id = table2.table1_id";
QueryWrapper<UacCode> queryWrapper = new QueryWrapper<>();
queryWrapper.sql(sql);
List<UacCode> list = codeDao.selectList(queryWrapper);
```
需要注意的是,虽然LambdaQueryWrapper通常更易读,但在需要高度定制SQL查询的时候,QueryWrapper提供了更大的灵活性。
阅读全文
相关推荐


















