서버/spring
mybatis 컬럼 누락 현상
아카이sun
2023. 10. 5. 13:16
스프링부트에서 다음의 설정으로 mybatis를 이용 중
implementation('org.mybatis:mybatis:3.4.4')
implementation('org.mybatis:mybatis-spring:1.3.1')
Select를 하면 컬럼이 누락되는 현상이 발생했다.
이슈사항을 찾아보니 조회한 컬럼의 모든 값이 null일 경우 map, dto 상관없이 null로 반환하는 듯 하다.
아래는 조회시 반환된 결과이다.
[null, {area=서울}, {area=강원}, null, {area=경북}]
그 때문에, gridjs에 바인딩 시, parsing 오류로 화면이 의도대로 출력되지 않았다.
찾아보니 3.2.x 이후에서는 returnInstanceForEmptyRow를 설정하면 되는듯 하다.
아래는 mybatis github 공식 페이지에서 해당 부분이 언급된 페이지이다.
https://github.com/mybatis/mybatis-3/pull/800
New setting : return empty instance for an empty row (i.e. every column is NULL) by harawata · Pull Request #800 · mybatis/myb
When a query returns a row with all columns being null (= an empty row), MyBatis returns null by default. As per users' requests, a new configuration option returnInstanceForEmptyRow is added to ch...
github.com
해당 부분의 설정을 완료하면 데이터가 제대로 반환되어 의도한 결과를 출력할 수 있었다.