【Mybatis】%%使用和多条件模糊查询

送分小仙女□ 提交于 2020-12-19 18:05:00

使用concat做多条件模糊查询

1. 字符串拼接

    // java代码
    searchText = "%" + searchText + "%";

    // sql
    <!--查询订单-->
    <select id="queryOrder" parameterType="Map" resultType="com.alibaba.fastjson.JSONObject">
        SELECT
            order_code,
            send_linkman,
            settled_amount
        FROM
            order_info
        WHERE
            account_code = #{accountCode}
        AND
            state = 1
        <if test="searchText != null and searchText != '' ">
            AND CONCAT(order_code,received_linkman)
            LIKE #{searchText }
        </if>
        ORDER BY
            pay_time
        DESC
    </select>

2. 使用concat

    // sql
    <!--查询订单-->
    <select id="queryOrder" parameterType="Map" resultType="com.alibaba.fastjson.JSONObject">
        SELECT
            order_code,
            send_linkman,
            settled_amount
        FROM
            order_info
        WHERE
            account_code = #{accountCode}
        AND
            state = 1
        <if test="searchText != null and searchText != '' ">
            AND CONCAT(order_code,received_linkman)
            LIKE concat('%', #{searchText},'%')
        </if>
        ORDER BY
            pay_time
        DESC
    </select>

3. bin标签

    <!--查询订单-->
    <select id="queryOrder" parameterType="Map" resultType="com.alibaba.fastjson.JSONObject">
        SELECT
            order_code,
            send_linkman,
            settled_amount
        FROM
            order_info
        WHERE
            account_code = #{accountCode}
        AND
            state = 1
        <if test="searchText != null and searchText != '' ">
            <bind name="searchText" value=" '%' + searchText + '%' "/>
            AND CONCAT(order_code,received_linkman)
            LIKE #{searchText}
        </if>
        ORDER BY
            pay_time
        DESC
    </select>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!