MyBatis标签获取数组或者集合长度的方法

1、判断列表长度:

bash 复制代码
<if test="list != null and list.size() > 0">
  ...
</if>
可结合in条件使用:
 SELECT * FROM users
  <where>
    <if test="idList != null and idList.size() > 0">
      id IN
      <foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
        #{item}
      </foreach>
    </if>
  </where>

2、遍历数组:

bash 复制代码
<if test="array != null and array.length > 0">
  ...
</if>

3、获取数组或列表的元素(${}方式拼接字符串,注意安全):

bash 复制代码
${list[0]}
${array[0]}

4、总结:

在使用这些表达式时,请确保你的参数类型与表达式中使用的类型相匹配。例如,如果你传递的是 java.util.List,则应使用 list.size();如果你传递的是原生数组(如 String[]),则应使用 array.length。

相关推荐
阿丰资源8 小时前
SpringBoot+MySQL+MyBatis-Plus+Vue前后端分离仓库管理系统 (附资料)
spring boot·mysql·mybatis
小信丶8 小时前
Spring Cloud Stream EnableBinding注解详解:定义、应用场景与示例代码
java·spring boot·后端·spring
无限进步_8 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
亚历克斯神8 小时前
Spring Cloud 2026 架构演进
java·spring·微服务
七夜zippoe8 小时前
Spring Cloud与Dubbo架构哲学对决
java·spring cloud·架构·dubbo·配置中心
海派程序猿8 小时前
Spring Cloud Config拉取配置过慢导致服务启动延迟的优化技巧
java
阿维的博客日记8 小时前
为什么不逃逸代表不需要锁,JIT会直接删掉锁
java
William Dawson8 小时前
CAS的底层实现
java
九英里路8 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串
YDS8298 小时前
大营销平台 —— 抽奖前置规则过滤
java·spring boot·ddd