2011. 5. 13. 11:04
반응형

map 으로 결과값 처리시 대문자 또는 소문자로 일관되지 않게 반환되는것을 처리하기 위한 방법
mybatis도 지원되는지에 대한 여부는 아직 확인해 보지 않았음.

<!--  Map의 Key값이 대소문자가 같이 들어가는 문제 해결을 위해 CaseInsensitiveMap 사용  -->
 <typeAlias alias="casemap" type="org.apache.commons.collections.map.CaseInsensitiveMap"/>

<select resultClass="casemap">

그러나.. Map을 받을때도 CaseInsensitiveMap으로 형변환을 해줘야 되는 문제점이 있다.
기존 소스를 변경해야 된다는것!

그래서 다른 방법을 찾아봄.
ibatis를 디컴파일 해서 set 해주는 부분에서 소문자로 강제로 변경해 주기로함..
위치 : com.ibatis.sqlmap.engine.exchange.ComplexDataExchange.java
setData() method중 ResultMap 을 parameter로 받는 것에..
ex) mappings[i].getPropertyName().toLowerCase()
뒤에다 강제로 toLowerCase()를 넣어줌..
버젼마다 구현된 내용이 조금씩 다르므로 수정본을 올리진 않음!

반응형

'Jsp-Servlet > IBatis' 카테고리의 다른 글

mybatis 버그!! ognl??  (6) 2011.03.15
ibatis에서 jdbc를 불러와 metadata 출력  (4) 2011.02.18
IBatisDao.java, SqlMapClientFactory.java  (3) 2010.04.07
ibatis 동적sql 레퍼런스  (1) 2010.04.06
Posted by seongsland