参考链接:001、002、003
主要实现的是:下面的sql形式
select ... WHERE ( floor LIKE '%楼层%' OR floor LIKE '%十九楼%' )
QueryWrapper<Investment> queryWrapper = new QueryWrapper<>();
//楼层多选
if (!(investmentDTO.getFloorList().isEmpty())){
queryWrapper.or(wrapper -> {
for (String floors:investmentDTO.getFloorList()
) {
wrapper.or().like("floor",floors);
}
return wrapper;
});
}
//区域多选
if (!(investmentDTO.getRegionList().isEmpty())){
queryWrapper.or(wrapper -> {
for (String regions:investmentDTO.getRegionList()
) {
wrapper.or().like("region",regions);
}
return wrapper;
});
}
queryWrapper.eq("is_delete",0)
.orderByDesc("investment_id");
IPage<Investment> investmentIPage = investmentMapper.selectList(queryWrapper);
对应的sql语句
SELECT
investment_id,
floor,
region,
business_variety,
area_min,
area_max,
contact,
telephone,
state,
create_time,
update_time,
comment,
is_delete
FROM
investment
WHERE
telephone LIKE '%7777%'
OR (
floor LIKE '%楼层%'
OR floor LIKE '%十九楼%'
)
OR (
region LIKE '%红%'
OR region LIKE '%兰%'
)
AND is_delete = 0
ORDER BY
普通的使用
queryWrapper.like("name",user.getUserName()).or().like("address",user.getAddress());
WHERE
name LIKE '%张%'
OR address LIKE '%楼%'
AND is_delete = 0