Mybatis中sql数组为空判断

一、Mybatis xml中的sql通过if语句判定是否为空
xml 复制代码
<if test="arrays != null">
</if>

上述示例只能判断arrays数组不为null,那如果是个空数组呢

二、Mybatis xml中的sql通过if语句判定数组非空数组

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

如果是按照上述写法,将会报如下已异常:

sh 复制代码
nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'arrays != null and arrays.length > 0'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: java.util.ArrayList.length

正确写法如下:

xml 复制代码
<if test="arrays != null and arrays.size() > 0">
</if>

开源SDK:https://github.com/mingyang66/spring-parent

相关推荐
Zhang~Ling1 小时前
Redis 基础教程:从常用命令到实际业务场景
数据库·redis·缓存
悟道书生1 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
景熙55231 小时前
2.什么是业务后台系统
java·spring·tomcat·mybatis·jdbc
ss2732 小时前
30 PostgreSQL ACID特性详解
数据库·postgresql
syagain_zsx2 小时前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
时间售卖铺2 小时前
MySQL 备份
运维·数据库·mysql·云原生
靠谱的工程师朋友2 小时前
电子会计档案管理软件科普 核心能力与选型要点解析
网络·数据库·人工智能·电子会计档案
北冥you鱼2 小时前
Go 语言 Ticker 定时任务全解析:原理、陷阱与最佳实践
开发语言·数据库·golang
花间相见3 小时前
【计算基础|MySQL17】三大日志:undo / redo / binlog
数据库·后端·面试
严同学正在努力3 小时前
PostgreSQL 数据库安装部署教程(Linux 多发行版 + Windows + Docker 全覆盖)
linux·数据库·postgresql