반응형
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
마이바티스 쿼리문
정상적으로 출력됨을 확인
반응형
'Back-end > Spring' 카테고리의 다른 글
[Spring] 시큐리티 Security Form Login 인증 기본 설정 (스프링 3.0 버전 이상, 시큐리티 6.0 버전 이상, WebSecurityConfigurerAdapter 대체) (0) | 2024.01.10 |
---|---|
[Spring] 시큐리티 Security 의존성 추가 방법 (0) | 2024.01.10 |
[Error] No serializer found for class 해결방법 (1) | 2024.01.05 |
[IntelliJ] Database에서 DTO/VO 자동 생성 방법 (0) | 2024.01.04 |
[Error] Could not find mysql:mysql-connector-java:. (0) | 2024.01.04 |