- ibatis부터 있던 고질적 버그
1. ${test}  <-- parameterType을 String으로 주고 java단에서 파라미터를 String으로 넘겨 줄 경우 에러 발생함.
2. #{test}는 잘됨.
3. int, map, VO등은 또 잘됨.. String만 안됨..
4. mybatis로 넘어왔는데도.. 고쳐지지 않았음.. String이 원래 그렇게 쓰면 안되는 거면.. int는 왜되냥!!

- mybatis 버그
1. map 형식으로 값을 String형식으로 1자리값(A)을 넣어서 보냄..
2. 다이나믹 쿼리에서 test="tttt = 'A'" 식으로 처리함.
3. 처리가 안됨... A를 NumberFormat 으로 변환할수 없다는 Exception만 발생함.
4. String인데 강제로 char나 Integer형으로 파싱하려한다고 생각함.
5. 다이나믹 쿼리에서 test="ttt = 'A' + ''" 식으로 처리함. 잘됨.
6. test="" 표현식 안에 들어갈수 있는 ognl 표현식을 보고 +'' 방식을 찾아냄.. 아래는 표현식 전부
    "," ...
    "=" ...
    "?" ...
    "||" ...
    "or" ...
    "&&" ...
    "and" ...
    "|" ...
    "bor" ...
    "^" ...
    "xor" ...
    "&" ...
    "band" ...
    "==" ...
    "eq" ...
    "!=" ...
    "neq" ...
    "<" ...
    "lt" ...
    ">" ...
    "gt" ...
    "<=" ...
    "lte" ...
    ">=" ...
    "gte" ...
    "in" ...
    "not" ...
    "<<" ...
    "shl" ...
    ">>" ...
    "shr" ...
    ">>>" ...
    "ushr" ...
    "+" ...
    "-" ...
    "*" ...
    "/" ...
    "%" ...
    "instanceof" ...
    "." ...
    "(" ...
    "[" ... <-- [] 는 배열이나 하위 속성의 값을 불러올때 쓰이는듯.. ['t']


마지막으로..
mybatis!! ibatis!! clob, blob 불러오려면 꼭 상단에 resultMap 정의해야 되는데.. 귀찮다.. 걍 가져올수 잇게 해주렴!
저장할땐 #{test:CLOB} 이렇게 걍 하면 되니까..
불러올때도 parameterType=hashmap 줬으면.. 옆에 따로 더 줘서 clob나 blob는 바로 string으로 변환될수 있는 옵션 추가해줬으면 좋으련만...


출처 : http://seongsland.tistory.com/entry/mybatis-%EB%B2%84%EA%B7%B8-ognl

+ Recent posts