Skip to content
On this page

CamelMap

조회결과를 frontend로 반환할때 JavaBean의 필드로는 부족할 경우 Map으로 받을 수 있다.

CamelMap은 HashMap을 extends 한다.
put 메소드는 key를 camel-case로 변환한다.(json에서의 프로퍼티이름이 camel이라서) 원래의 대문자_대문자형태의 키로 담으려면 put1 메소드를 사용한다.
그외에 CamelMap은 비교를 위한 isEmpty, isEquals와 형변환을 해주는 getString, getInt, 날짜에는 getYyyymmdd 등의 메소드가 있음.

여러 테이블을 join하는 sql의 result type을 bean으로 받기 복잡하면 resultType="camelMap"으로 받아서 frontend에 전달한다.

복잡한 저장 처리는 map보다는 JavaBean으로 조회해서 처리힌다.
map의 get은 매번 형변환을 해야하고, 키이름에 오타가 있으면 오류를 찾기가 어려우니 java bean으로 작성하기를 추천함.
하나의 sql에서 여러개의 JavaBean 매핑하기

HashMap vs CamelMap

Map<String, Object> hm = new HashMap<>();
hm.put("ABC_DEF", "abcdef");
hm.get("ABC_DEF")


CamelMap cm = new CamelMap();
// 키를 _로 구분된 대문자로 입력하면 camel case로 저장한다.
cm.put("PUT_METHOD", "카멜로변환"); // put은 key를 camel case로 변환
cm.get("PUT_METHOD") //  null
cm.get("putMethod")  // "카멜로변환"


cm.put1("PUT1_METHOD", "대분자그대로"); // put1은 key를 변환하지 않음
cm.get("PUT1_METHOD") // "대분자그대로"

Hello