java~springboot~ibatis数组in查询的实现

Posted 敢于对过去告一个段落,才有信心掀开新的篇章!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java~springboot~ibatis数组in查询的实现相关的知识,希望对你有一定的参考价值。

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

  <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>

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

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

以上是关于java~springboot~ibatis数组in查询的实现的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 报错Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias ‘*****‘

SpringBoot 报错Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias ‘*****‘

mybatis和ibatis的区别

Springboot+mybatis+ibatis mysql链接

Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.i

spring MVC + Ibatis 连接DB2 数据库 出现警告信息