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은 보통 따옴표를 잘못 사용한 경우에 발생합니다.

 

 

꼭 다시 확인해보세요!!:)