2021-01-20 mybatis-plus中关于or的使用

参考链接:001002003

主要实现的是:下面的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 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值