iBatis-Oracle 사용시 질의의 결과값을 HashMap 표현으로 가져올 수 있다.
<select
id=”selectItems”
parameterClass=”java.util.Map”
resultClass=”java.util.HashMap”>
select id, name from item where id = #id#
</select>
id=”selectItems”
parameterClass=”java.util.Map”
resultClass=”java.util.HashMap”>
select id, name from item where id = #id#
</select>
결과 값은 HashMap에 표현된 키값이 모두 대문자라는 사실이다.
Oracle에서의 질의 결과셋 Meta정보가 그러하다고 한다.
소문자를 주로 사용하는 코딩 환경에서 컬럼명만 대문자로 써줘야 한다는 것은 정말 귀찮은 일이다.
해결 방안
1. resultMap 사용
<select>에다 <resultMap>을 매핑해 주면 가능
(질의 개수만큼 매핑을 만들어 줘야 한다는것)
2. SQL문에서의 해결 방법
select id as “id”, name as “name”..
3. Oracle JDBC Thin Driver를 변경 방법
드라이버 내의 oracle.jdbc.dbaccess.DBColumn 클래스를 수정하면된다.