Error evaluating expression ‘ew.sqlSegment != null and ew.sqlSegment != ‘‘ and ew.nonEmptyOfNormal‘.

@[TOC](2023-07-10 20:22:13.962 ERROR 30664 — [nio-7777-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘ew.sqlSegment != null and ew.sqlSegment != ‘’ and ew.nonEmptyOfNormal’. Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment [java.lang.NoClassDefFoundError: Could not initialize class com.baomidou.mybatisplus.core.toolkit.support.SerializedLambdaMeta]] with root cause

word count: 84, token estimate: 206

)

先说解决方案

检查你的jdk版本
检查你的jdk版本
检查你的jdk版本

以jdk1.8为例
具体有三个地方:

  1. 在这里插入图片描述

  2. 在这里插入图片描述

可以观察运行窗口的jdk版本有无改变

在这里插入图片描述

原因分析

我使用idea时遇到了复制的内容和粘贴的内容不一致,然后通过chatGPT了解
到将目录中的.idea目录删除后重新导入项目可以解决。
在我删除后我的问题得到了解决,但在我开发登录模块时,我发现我的mybatisplus
所有查询语句都失效了,提示上面这个错误

在删除了2次maven依赖重装后,依然没有解决,在排除了依赖版本问题后发现启动项目的jdk是18,这才想起.idea可能包含了jdk的配置,再删除后idea默认给我设置了jdk18导致这个错误的发生。泪目(解决花了3个小时)

后记

切勿轻信chatGPT
切勿轻信chatGPT
切勿轻信chatGPT

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 错误评估表达式'ew.sqlsegment != null and ew.sqlsegment !='' and ew.nonemptyofwhere'。 这个错误信息是指在某个程序中,对一个表达式进行了评估,但是出现了错误。具体来说,这个表达式包含了三个条件:ew.sqlsegment不为空,ew.sqlsegment不等于空字符串,以及ew.nonemptyofwhere不为空。但是,由于某种原因,程序无法正确地评估这个表达式,导致出现了错误。需要进一步分析程序代码和数据,才能确定具体的原因和解决方案。 ### 回答2: 这个错误是在进行一个数据库查询操作时出现的,其意义是无法确定查询的条件语句是否为空或者是否有效。查询语句包括一个SQL片段和一个WHERE语句。 在解决这个错误之前,我们需要深入了解查询操作的流程。当我们向数据库发出一个查询请求时,数据库会根据我们的查询条件和指令去查找符合条件的数据,并将结果返回。而查询条件则由查询语句中的SQL片段和WHERE语句组成。SQL片段是查询语句中的关键字和表名等基础信息,而WHERE语句则是查询条件的核心,它指定了我们所需要查找的数据的具体范围。 当出现“error evaluating expression 'ew.sqlsegment != null and ew.sqlsegment != '' and ew.nonemptyofwhere'”这个错误时,我们需要检查查询语句中的SQL片段和WHERE语句是否正确。检查方法可以按照以下步骤进行: 第一步,检查SQL片段是否为空。如果SQL片段为空,数据库无法确定要查询的表和字段,也就不可能进行查询操作。因此,在编写查询语句时,要确保SQL片段中包含了查询所需要的关键信息。 第二步,检查WHERE语句是否为空或无效。如果WHERE语句为空,数据库会返回所有符合SQL片段中指定表格的数据,而不是我们所需要的数据。如果WHERE语句无效,可能是由于查询条件拼写错误或者语法错误等原因导致的。在这种情况下,我们需要检查WHERE语句的语法是否正确,如拼写、数据类型、逻辑运算符等。 第三步,检查查询语句是否能够成功执行。如果查询语句无法执行,可能是由于数据库没有连接或查询语句格式错误等原因导致的。在这种情况下,我们需要检查数据库连接是否正常、查询语句是否格式正确等问题。 综上所述,“error evaluating expression 'ew.sqlsegment != null and ew.sqlsegment != '' and ew.nonemptyofwhere'”这个错误可能由SQL片段或WHERE语句等查询条件出错导致,因此我们需要逐一排查、解决这些问题,以保证查询操作的顺利执行。 ### 回答3: 这个错误提示出现在使用 EasyQuery (一个 .NET 平台上的查询操作库)进行动态 SQL 查询时。该错误提示表明查询条件中存在不合法的语法表达式。 其中,“ew.sqlsegment” 代表查询语句中 WHERE 子句的条件语句,“ew.nonemptyofwhere” 则判断 WHERE 子句是否有有效的条件。 出现这个错误的原因有很多种可能,比如查询条件表达式写错、使用了不支持的操作符或函数等。解决这个问题的方法也各有不同,需要具体分析问题才能得出解决方案。 首先,我们需要确认这个错误是在调用 EasyQuery 的哪一步出现的,从而找到具体的代码位置。然后,可以检查查询语句中的语法表达式是否正确,比如括号配对是否正确、操作符是否正确等。如果查询条件语句较为复杂,可以将其拆分为多个小的条件语句,逐一检查看看哪个语句有问题。 此外,还可以通过打印调试信息等方式辅助排查错误原因。如果仍然无法解决,建议查阅 EasyQuery 相关文档或向其官方技术支持人员寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值