Back-end/Spring

[Spring] mybatis에서 카멜케이스로 자동 변환 옵션(application.yml)

shoney9254 2024. 1. 8. 14:13
반응형

 

1 사용해야하는 이유

보통 디비에서는 스네이크 표기법 credit_limit

자바에서는 카멜케이스 표기법 creditLimit

이런식으로 자주 사용하게 되는데

 

Mybatis에서 아무런 설정을 하지 않으면, 아래 처럼 select 문에 alias를 사용해서 직접 매핑해줘야한다. 

select
credit_limit as 'creaditLimit'
from customer

 

하지만, 몇개 변수라면 상관없지만 무수히 많은 변수가 존재한다면 정말 귀찮은 일이다.

 

 

2 . 설정 방법

application.yml에서 옵션으로 쉽게 변경가능하다.

mybatis:
  configuration:
    map-underscore-to-camel-case: true #db는 스네이트 표기법, dto는 카멜케이스 사용 시

다른 블로그에서는 뭐 이런저런 설정을 하던데, 사실 이렇게 쉬운 방법이 존재한다. 

 

 

아래처럼 이렇게만 사용해도 dto의 creditLimit 변수에 값이 들어오는 것을 확인 할 수있다.

select
credit_limit
from customer

 

 

3. 결과

아래처럼 dto는 카멜케이스이고, 쿼리는 *로 전체 변수를 가저온다고 할 때

Customer DTO

 

 

 

마이바티스 쿼리문

 

 

정상적으로 출력됨을 확인

 

반응형