[Mybatis] ResultMap을 쓰지 않아도 자바 객체와 매핑 되는 경우


[Mybatis] ResultMap을 쓰지 않아도 자바 객체와 매핑 되는 경우

사용할 자바 객체 사용할 쿼리 사용할 DB 테이블 DB 테이블 이름은 Member 사용할 코드 케이스 1 : @ToString만 있는 경우 사이즈는 2개가 나오나 null 값으로만 나온다. 케이스 2 : @NoArgsConstructor 추가 및 쿼리에 alias 추가 사실 기본생성자는 자동으로 만들어지긴 한다. alias를 추가하면 정상 작동한다. 케이스 3 : @AllArgsConstructor 추가 및 alias 없는 경우 정상적으로 데이터가 나온다. 이 케이스 때문에 좀 헷갈렸다. 분명 자바 객체와 DB 테이블 컬럼의 이름이 다른데 왜 정상결과가 나오나 했는데 전체 생성자가 있으면 생성자 순서대로 값을 할당해준다. 그렇기에 순서가 바뀌면 값이 제대로 나오지 않는다. 순서를 바뀌면 위와 같이 나온다. 케이스 4 : @NoArgsConstructor와 ResultMap 사용, alias는 없음 ResultMap을 사용해도 정상작동한다. 쿼리 순서가 바뀌어도 잘 작동한다. 케이스 ...


#Mybatis #ResultMap

원문링크 : [Mybatis] ResultMap을 쓰지 않아도 자바 객체와 매핑 되는 경우