Error evaluating expression 'startPageIndex!=null and !startPageIndex.isEmpty() and endPageIndex!=null and !endPageIndex.isEmpty()'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "isEmpty" failed for object 1 [java.lang.NoSuchMethodException: java.lang.Long.isEmpty()]
时间: 2024-02-04 22:04:05 浏览: 136
这个错误的原因是 `Long` 类型没有 `isEmpty()` 方法,而你在 OGNL 表达式中尝试调用了 `isEmpty()` 方法。
如果你想检查 `Long` 类型是否为 `null` 或者空值,你可以使用以下表达式:
```
startPageIndex != null and endPageIndex != null
```
这个表达式会检查 `startPageIndex` 和 `endPageIndex` 是否都不为 `null`。
如果你想检查 `String` 类型是否为空,你可以使用以下表达式:
```
startPageIndex != null and !startPageIndex.isEmpty() and endPageIndex != null and !endPageIndex.isEmpty()
```
这个表达式会检查 `startPageIndex` 和 `endPageIndex` 是否都不为 `null`,并且是否都不为空字符串。
相关问题
nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'params.startTime != null and params.startTime != '' and params.endTime != null and params.endTime != '''. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, \"startTime\")"
这个错误是因为 MyBatis 在解析 SQL 语句时,无法正确地解析表达式 'params.startTime != null and params.startTime != '' and params.endTime != null and params.endTime != '''。
具体原因是因为 'params.startTime' 或 'params.endTime' 变量为 null 或空字符串,导致 MyBatis 无法正确地解析表达式。可以通过在 SQL 语句中添加空值判断来避免这个问题,例如:
```
<if test="params.startTime != null and !params.startTime.isEmpty()">
AND start_time >= #{params.startTime}
</if>
<if test="params.endTime != null and !params.endTime.isEmpty()">
AND end_time <= #{params.endTime}
</if>
```
这样可以避免空值导致的异常,并正确地解析 SQL 语句。
nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'startTime != null and startTime != '''.
这个错误是由于 MyBatis 在解析 SQL 表达式时出现问题导致的。具体来说,这个错误是由于在表达式 'startTime != null and startTime != ''' 中出现了问题。
根据错误信息来看,可能的原因是 `startTime` 变量没有正确地被设置或者表达式的写法有误。请确保 `startTime` 变量被正确地赋值,并且在表达式中使用了正确的运算符。
如果你能提供更多的上下文信息,例如代码片段或者更详细的错误日志,我可以给出更具体的建议。
阅读全文