파닥이

[spring] Mybatis resultType이 Map인 경우 CameCalse 적용 본문

IT/Spring

[spring] Mybatis resultType이 Map인 경우 CameCalse 적용

알라이또 2019. 4. 20. 19:14
반응형

mybatis에 mybatis-config.xml 에 mapUnderscoreToCamelCase 속성은 자바빈즈(DTO/VO)만 적용되고

컬렉션속성(map)은 적용되지 않는다.

 

그래서 따로 적용한 방법을 구글링했을떄

MyBatis resultType이 Map일경우 key를 소문자로 만들기
Spring에서 문자열 camelcase 만드는 함수

위에 블로그를 참고하여 적용한 방법은 아래와 같다.

public class LowerHashMap extends HashMap {
    private static final long serialVersionUID = -7700790403928325865L;

    @SuppressWarnings("unchecked")
    @Override
    public Object put(Object key, Object value) {
        return super.put(JdbcUtils.convertUnderscoreNameToPropertyName((String) key), value);
    }
}
    <typeAliases>
        <typeAlias alias="camelmap" type="패키지위치.LowerHashMap" />
    </typeAliases>
    <select id="getNote" resultType="camelmap">
        SELECT * FROM TEST
    </select>
Comments