问题概述
在基于微服务架构风格的项目开发过程中,为了提高快速开发的目的,提高开发效率,集成了 MyBatisPlus,对于 MyBatisPlus 封装的 CRUD API 接口已经非常强大了,但是有时还是需要使用其动态 SQL 的拼接,在编写动态 SQL 时遇到一个梗,异常信息:“ 异常信息:nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'employee.startDate != null and employee.endDate ! = null'. Cause: org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression: employee.startDate != null and employee.endDate ! = null [org.apache.ibatis.ognl.ParseException: Encountered " "!" "! "" at line 1, column 53. ”,
如下图:
解决办法
注意,在异常信息中提示:表达式异常,意思是编写的动态 SQL 异常,再往后看,发现在条件拼接时多了一个空格,这样写是错误的,不成立的写法,去掉符号中间的空格即可。
尤其在业务逻辑较为复杂的情况下的动态 SQL ,需要一步一步的来,而且需要细致,对于哪些总是喜欢 space 键的老弟,PS:我有一个老弟就是这样,而且总是情不自禁。。。
好了,关于 nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | [email protected] |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/86514214 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |