在ibatis的 文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如where in这种从数组里查询符合条件的集合里,需要在 里进行特别的处理。

  <update id=\"batchUpdate\" parameterType=\"map\">
        update customer_info set status=#{status},appoint_time=#{appointTime} where
        customer_id in
        <foreach collection=\"customerIdArr\" item=\"customerId\"
                 index=\"index\" open=\"(\" close=\")\" separator=\",\">
            #{customerId}
        </foreach>
    </update>

我们可以看到,在 里进行了foreach的遍历,而外部参数是一个集合或者数组的对象,我们在 对它进行遍历,还是比较方便的。

技巧:在 里,parameterType是输入参数类型,你可以使用map对象来代替;而resultType是返回类型,如果你没有定义DTO也可以使用map代替,虽然map可以让我们的代码变简洁,当然也有缺陷,就是会写很多弱类型的属性名。

收藏 打印