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에서 전달한 값과 다를 수 있음
'DeveloperLee > Web' 카테고리의 다른 글
Map To QueryString (0) | 2020.03.17 |
---|---|
Ajax 게시판 뒤로가기 관련 정리 (0) | 2020.02.26 |
preventDefault() / stopPropagation() (0) | 2020.02.25 |
Maven 외부 라이브러리(jar) 추가하는 두가지 방식 (0) | 2017.06.13 |
Tomcat 6 -> 7 시 주의 (InvokerServlet) (0) | 2017.06.12 |