어마어마하게 많은 컬럼들..
그걸다 일일이 resultMap으로 맵핑하는게
여간 번거로운게 아니다.
그래서 resultClass를 HashMap으로 받는다.
이걸 JsonObject로 변환해서, Gson으로 객체에 담으면,
두줄이면 자동 맵핑 되니까 겁나 간단해지지 ㅋㅋㅋㅋㅋ
그런데 이게 뭔일 :(
ibatis 결과값을 HashMap으로 받았더니,
키값이 대문자로 들어간다 -ㅅ-
찾아보니, ibatis나 DB와 관련된 클래스를 직접 수정해서 사용하면 된다던데,
그러기엔 귀찮아서 꼼수를 쓰기로 함.
HashMap결과 받아온 값이 result라고 하면,
Iterator iterator = result.keySet().iterator();
Map newResult = new HashMap();
while(iterator.hasNext()){
String key = (String)iterator.next();
newResult .put(key.toLowerCase(), temp.get(key));
}
이렇게 newResult 라는 새로운 Map을 생성해서,
키값을 소문자로 바꿔서 다시 put해주는 방식.
그리고 이걸 Gson으로 만들어서 객체에 담는다.
String json = JSONObject.toJSONString(newResult );
Gson gson = new Gson();
MyVO vo= (MyVO )gson.fromJson(json, MyVO .class);
이렇게..
*Gson을 쓴다면 당연한 얘기지만,
VO나 Bean파일의 필드명은 컬럼명과 동일할때만 사용할 수 있다.
그래도 resultMap쓰는 노가다보단 편한것 같다.
'내컴퓨터 > 컴퓨터사용하기' 카테고리의 다른 글
이클립스 한글 저장 안될 떄 (0) | 2014.11.25 |
---|---|
CSS RGB 색 만들기 (0) | 2014.11.11 |
IOS SCHEME install check / 아이폰 앱 설치 체크 / (0) | 2014.10.30 |
HTML5 file upload progressbar (0) | 2014.10.29 |
CSS explorer9에서 background 안먹힐때 (0) | 2014.10.21 |