Mybatis传入参数字符串分割成数组作为条件遍历

2018-08-03  本文已影响986人  小小蒜头

1. 先获取LayUI复选框的值并以逗号拼接在一起

              <div class="layui-form-item layui-hide" id="wrap">
                    <div class="layui-input-block">
                        <input type="checkbox" name="payMethods" title="现金" value="0">
                        <input type="checkbox" name="payMethods" title="微信" value="1">
                        <input type="checkbox" name="payMethods" title="支付宝" value="2">
                        <input type="checkbox" name="payMethods" title="翼支付" value="3">
                        <input type="checkbox" name="payMethods" title="银行卡" value="4">
                        <input type="checkbox" name="payMethods" title="微信公众号" value="5">
                    </div>
                </div>
 form.on('submit(storeOrdersQuerySubmit)', function (data) {
        var datas = data.field;
        var groupCheckbox = $("input[name='payMethods']");
        var payMethods = "";

        for (var i = 0; i < groupCheckbox.length; i++) {
            if (groupCheckbox[i].checked) {
                var val = groupCheckbox[i].value;
                if (payMethods.length > 0) {
                    payMethods += "," + val;
                } else {
                    payMethods += val;
                }
            }
        }

        tableIns.reload({
            where: {      
                'payMethods': payMethods
            }
        });

        return false;
    });

选择结果

得到的字符串就是2,5

2. Mybatis将传入参数字符串分割成数组作为条件遍历

<select id="selectByDate2" parameterType="com.flyecloud.applychain.model.Orders" resultMap="BaseResultMap">
        SELECT
        ORDERS.ORDER_ID
        FROM
        ORDERS 
        where ORDERS.MER_ID = #{merId,jdbcType=VARCHAR} 
        <if test="payMethods != null and payMethods.length!=0 ">
            AND ORDERS.PAY_METHOD IN
            <foreach collection="payMethods.split(',')" item="payMethod"
                     index="index" open="(" close=")" separator=",">
                #{payMethod}
            </foreach>
        </if>
        order by ORDERS.CREATE_DATE
    </select>
上一篇 下一篇

猜你喜欢

热点阅读