Jsp-Servlet/IBatis
ibatis key값 대소문자에 대한 처리
seongsland
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()를 넣어줌..
버젼마다 구현된 내용이 조금씩 다르므로 수정본을 올리진 않음!