mapUnderScoreToCamelCase 사용하기(VO)

데이터베이스에서 컬럼을 만들때 자바에서

변수명이나 메소드명을 만들때처럼 

2개이상의 영어단어를 조합하여 만들 때가 있다.


2개 3개 이상의 긴 영어단어로 만들게되면

변수명이나 메소드명처럼 가독성이 떨어지게 되는데

변수명과 메소드명을 만들때는 카멜케이스를 사용하면 되지만

컬럼명은 카멜케이스로 만들수 없다.


그렇기 때문에 데이터베이스에서 컬럼명을 길게 만들어야 할 때 에는

언더바 _ 를 사용 하게 되는데 예를 들어 

조회수 컬럼명을 만든다고 한다면 viewcnt로 만드는것이 아닌

view_cnt로 만드는 것이다.


보통 데이터베이스의 값들을 jstl로 화면상에 뿌려줄때는

VO를 통해 값을 뿌린다. 

하지만 jsp 화면단에서 이 컬럼명으로 값을 불러 올수 없다.


그렇기 때문에 보통 스프링에서 언더바를 사용한 컬럼명을 사용해야

할때에는 mapUnderscoreToCamelCase를 사용한다. 이것은

마이바티스를 사용해야만 사용가능하다. 

컬럼명에 언더바가 있을경우 카멜케이스로 읽어준다.

즉 컬럼명이 view_cnt 인경우 jsp화면단에서

이 값을 쓸때에는 viewCnt로 쓰면된다.


변환 방법을 보자.


먼저 전자정부프레임워크를 사용한다면

sql-mapper-config.xml 에서 mapUnderscoreToCamelCase

를 사용한다고 셋팅하고

STS를 사용한다면 mybatis-config.xml에서 해주면 된다.




다음 DB에서 컬럼명들을 언더바를 섞어 바꿔주자.


(After)




DB에서 컬럼명을 바꿨다면 쿼리문을 바꿔줘야한다. 



(After)





이제 VO안의 필드값들을 카멜케이스로 바꿔준다.


(After)



마지막으로 jsp화면단에서 아래와 같이 카멜케이스로 

VO를 통해 값을 뽑아올수 있다.





(After)





댓글

Designed by JB FACTORY