Cannot resolve method 'getParam' in 'LambdaQueryWrapper'
时间: 2023-12-04 10:06:04 浏览: 195
spring boot jpa写原生sql报Cannot resolve table错误解决方法
非常抱歉,我之前的回答有误。
在LambdaQueryWrapper中,没有`getParam()`方法,正确的方法是使用`getParamNameValuePairs()`方法获取参数名与参数值的映射关系,然后将其传递给`inSql()`方法。
改正后的代码如下:
```java
LambdaQueryWrapper<Order> innerWrapper = Wrappers.<Order>lambdaQuery()
.eq(Order::getHomestayId, homeId)
.apply("TO_DAYS(in_time) = TO_DAYS('2023-06-22')");
Map<String, Object> paramMap = innerWrapper.getParamNameValuePairs();
LambdaQueryWrapper<CustomerOrder> queryWrapper = Wrappers.<CustomerOrder>lambdaQuery()
.eq(CustomerOrder::getIsDelete, "0")
.inSql(CustomerOrder::getOrderId, "SELECT id FROM sys_order WHERE " + innerWrapper.getSqlSegment(), paramMap);
List<CustomerOrder> list = customerOrderMapper.selectList(queryWrapper);
```
以上代码中,使用`getParamNameValuePairs()`方法获取参数名与参数值的映射关系,并将其保存在`paramMap`中。然后在`inSql()`方法中传递`paramMap`参数,实现内部查询条件的传递。
希望以上解答能够帮到您,如果还有任何问题,请随时提出。
阅读全文