[Spring Boot, Mybatis] 문제해결 : Select 해온 값의 VO객체가 null일 때
오늘은 신나는 에러의 날..인 동시에 바로바로 해결을 하는 날!
DB에서 Select해온 VO객체를 확인해보니 null로 들어오더라구요?
어?? 이상하다?? 해서 유심히 보니...
원인
DB에서는 _(언더바)를 이용해서 컬럼명을 선언했고,
VO 객체에서는 변수를 카멜케이스로 선언을 해서 생기는 문제였습니다.
생각해보니 Mybatis 설정에 _(언더바)를 camelcase로 맵핑해주는 설정을 세팅안해놨더라구요.
해결
Mybatis 설정 중 map-underscore-to-camel-case 설정 값을 true로 세팅해서 해결했습니다.
mybatis.configuration.map-underscore-to-camel-case=true
다른 해결방법으로는 VO객체의 변수를 DB와 같은 _(언더바) 형식으로 통일시켜주면 됩니다. (반대로 해도 되고..)
예) Table의 컬럼명이 case_id라면 VO객체의 값을 받을 변수는 카멜케이스(caseId)가 아닌 컬럼명과 동일하게 case_id로 변수명을 통일해주시면 됩니다.
뭐 이런 초보자같은 실수만 연발하는지..
아마도 세팅을 한다고는 해도 꼭 몇몇개씩 빼먹고 진행해서 그런 것 같네요.
워낙 세팅보다는 개발에 더 많은 시간을 쓰다보니...
저번에 DB 연동할때 여러 테스트도 진행을 할 걸 그랬네요. (쩝..)
그냥 연동시켜놓고 된다! 하고 끝냈었으니... 이제와서 이런 문제가..
어쨌든 이걸로 이제 RestController에서 DB와 연동되어 받는 값들은 문제 없이 받아지고 있습니다. (아싸)
버전정보 (v1.0)
- v1.0 2020.08.06 배포
* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.
* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.
* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.
Karzin
abbeea@naver.com
'컴퓨터 이야기 > Java' 카테고리의 다른 글
[Spring Boot] 에러해결 : Invalid bound statement (not found) (0) | 2020.08.06 |
---|---|
[자료구조]Java로 Stack 구현해보기 (List 활용) (0) | 2020.06.18 |
Open JDK 설치 (0) | 2019.01.13 |
[Java] 초기화 블록 (initialization block) (0) | 2018.10.29 |
#2 자바 프로그래밍의 기초 (0) | 2017.02.15 |