mybatis同时使用and和or

1.在when或if里边and拼接(),保持与其他条件不冲突

   <select id="selectUserWashOrderList" resultType="SwOrder">
        SELECT so.*,ss.store_name
        FROM sw_order so
        LEFT JOIN sw_store ss ON so.store_id = ss.id
        where ss.deleted = 0 AND so.order_type = 0 and so.user_id = #{query.user_id}
        <choose>
            <when test="query.waitPayStatus !=null">
                and (so.status = #{query.unSettled} or so.status = #{query.waitPayStatus})
            </when>
            <when test="query.waitPayStatus == null ">
                <if test="query.status !=null">
                    and so.status = #{query.status}
                </if>
            </when>
        </choose>
        order by so.created_at desc
        limit #{pageNum},#{pageSize}
    </select>

    <select id="selectUserWashOrderListCount" resultType="Integer">
        select count(*) from (
        SELECT so.*,ss.store_name
        FROM sw_order so
        LEFT JOIN sw_store ss ON so.store_id = ss.id
        where ss.deleted = 0 AND so.order_type = 0 and so.user_id = #{query.user_id}
        <choose>
            <when test="query.waitPayStatus !=null">
                and (so.status = #{query.unSettled} or so.status = #{query.waitPayStatus})
            </when>
            <when test="query.waitPayStatus ==null ">
                <if test="query.status !=null">
                    and so.status = #{query.status}
                </if>
            </when>

        </choose>
        order by so.created_at desc
        )c
    </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值