zoukankan      html  css  js  c++  java
  • MyBatis中传递数组参数和List参数时if-test判空和判断长度的写法

    场景

    前端传递一个部门id的数组作为查询条件查询部门id在这个数组中的数据。

    在MyBatis的xml中获取到了这个数组参数后怎样进行if-test的判空与长度判断。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    在mapper接口层传递数组参数

     public List<KqDksz> selectKqDkszListBySx(@Param("array") int[] bmids, String xm, String dkzt);

    然后在对应的xml中

        <select id="selectKqDkszListBySx"  resultMap="KqDkszResult">
            <include refid="selectKqDkszVoJoinJibenXinXi"/>
            <where>
                <if test="array != null and array.length >0"> and j.bmid in
                    <foreach collection="array" item="item" open="(" separator="," close=")">
                        ${item}
                    </foreach>
                 </if>
            </where>
        </select>

    这里就可以通过array获取传递的数组并遍历。

    这里的数组参数不是必传的,所以需要加if-test的判断

    <if test="array != null and array.length >0">

    首先判断其不为空,并且判断其长度大于0。因为有可能传递空数组的情况。

    因为这里是传递的数组对象,所以这里是使用的array.length属性

    注意length不是方法

    但是如果传递的参数时list的话,就要使用如下方式

    <if test="list != null and list.size() > 0">
    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    django使用redis
    Python连接redis
    Redis 字符串(String)
    Redis 列表(List)
    Redis 集合(Set)
    Redis 哈希(Hash)
    Python获取时间范围
    如何查看oracle当前连接数,会话数
    python装饰器
    windows通过ssh连接虚拟机中的ubuntu步骤
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13402502.html
Copyright © 2011-2022 走看看