본문 바로가기
서버/spring

mybatis 컬럼 누락 현상

by 아카이sun 2023. 10. 5.

스프링부트에서 다음의 설정으로 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

해당 부분의 설정을 완료하면 데이터가 제대로 반환되어 의도한 결과를 출력할 수 있었다.

댓글