'camelcase'에 해당되는 글 1건

  1. 2020.03.18 Mybatis Map Camel Case 처리

VO를 통해 Data를 관리하는 경우 Mybatis 설정 한줄이면 충분하다.

 

<settings>
	<setting name="mapUnderscoreToCamelCase" value="true"></setting>
</settings>

 

그러나 취향 또는 인계받은 프로젝트가 Map 의 형태로 구현된 경우 

 

Camel Case 처리가 귀찮을 수 있다.

 

나는 아래와 같이 커스텀맵을 만들어 처리를 하는 편이다.

 

 

import java.util.HashMap;

import org.springframework.jdbc.support.JdbcUtils;

@SuppressWarnings("serial")
public class CustomMap extends HashMap<String, Object> {

    @Override
    public Object put(String key, Object value) {
        return super.put(JdbcUtils.convertUnderscoreNameToPropertyName(key), value);
    }
    
}

 

나의 경우 HashMap의 제네릭을 String, Object로 고정시켜 두었기때문에

 

key값을 캐스팅해줄 필요가 없지만. 제네릭을 다르게한다면 캐스팅 처리가 필요할 것임.

 

부작용으로 위의 CustomMap을 RequestBody에도 사용하게되면

 

parameter name이 View에서 전달한 값과 다를 수 있음

Posted by 하찮은자
,