Error
[MyBatis/Error] org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression
김먼저
2022. 12. 27. 13:31
MyBatis SQL 작성하다가 위와 같은 에러가 발생했습니다.
<when test="prev_experiment_group_seq != null AND prev_experiment_group_seq != '' AND prev_experiment_group_seq > 0">
<로그 창>
Caused by: org.apache.ibatis.ognl.ParseException: Encountered " <IDENT> "AND "" at line 1, column 35.
Was expecting one of:
<EOF>
"," ...
"=" ...
"?" ...
"||" ...
"or" ...
"&&" ...
"and" ...
"|" ...
"bor" ...
"^" ...
"xor" ...
"&" ...
"band" ...
"==" ...
"eq" ...
"!=" ...
"neq" ...
"<" ...
"lt" ...
">" ...
"gt" ...
"<=" ...
"lte" ...
">=" ...
"gte" ...
"in" ...
"not" ...
"<<" ...
"shl" ...
">>" ...
"shr" ...
">>>" ...
"ushr" ...
"+" ...
"-" ...
"*" ...
"/" ...
"%" ...
"instanceof" ...
"." ...
"(" ...
"[" ...
<DYNAMIC_SUBSCRIPT> ...
AND → and 로 수정하니 해결되었습니다.
AND뿐만 아니라 위와 같은 양식으로 바꿔주면 대부분 해결 가능하며,
위와 같은 경우가 아니라면,
Malformed OGNL expression은 보통 따옴표를 잘못 사용한 경우에 발생합니다.
꼭 다시 확인해보세요!!:)