controller:
/**
* 测试 inSql
* @param tenantUser
* @return List
*/
@GetMapping(value = "/inSqlTest")
public Result<?> inSqlTest(TenantUser tenantUser){
LambdaQueryWrapper<TenantInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.inSql(TenantInfo::getId,
"SELECT `tenant_id` FROM `tenant_user` WHERE `phone` = '"+tenantUser.getPhone()+"'");
List<TenantInfo> list = tenantInfoService.list(wrapper);
return Result.OK(list);
}
控制台打印sql:
SELECT
*
FROM
tenant_info
WHERE
deleted = 0
AND (
id IN ( SELECT `tenant_id` FROM `tenant_user` WHERE `phone` = '15013092652' ))
条件构造器的sql:
SELECT `tenant_id` FROM `tenant_user` WHERE `phone` = '15013092652'
(其中`tenant_user`.`tenant_id`对应`tenant_info`.`id`。)
测试结果如下: