본문으로 바로가기

003

category 수업내용 정리/정리안된 메모 2019. 6. 16. 21:00

이미지0

이미지1

이미지2

 

이미지3

ㅁㄴㅇㄹㄴㅇㅁㄹㄴㄹ

ㄴㅇㄹㄴㅇㄹㄴㅇㄹ



​조회시 모델(User, Member 등) 을 사용하게 되면, 조회 컬럼명과, 모델의 속성명(settet 이름)이 같으면 해당 속성에 값을 넣어준다. 

위에 보이는 이미지의 경우 (Mapper 코드) 칼럼명과 모델의 속성명이 같지 않기 때문에, null을 담은 객체가 완성된다.

예전에 직접 ResultSet (rs)을 사용해서, selectOne을 할 떄 각각 사용자가 직접 입력해주던 작업을 MyBatis가 해주는데, 이때 칼럼명과 settet의 명이 일치하지 않으면 해당 작업을 할 수 없는 것이다.

ex Member에 setNaem()이 있고 칼럼명이 m_name인 경우 

이런식으로 작업해주던 것을 MyBatis가 대신 해주게 되는데 

별도의 설정을 해주지 않으면 

요런 식으로 칼럼명과 동일한 setter에 작업을 하기 때문에, 실제로 존재하지 않는 setter에 값을 넣는 결과가 되버리는 것 

​​

이런식으로 as로 별명을 부여해서 해결 할 수 있다. 

혹은 위의 이미지처럼 resutMap을 활용해서 칼럼명과 모델의 setter 이름을 매칭 시켜 줄 수 있다.resultMap을 활용 할 경우 resultType이 아닌 resultMap으로 설정하고, "" 안에는 만든 resultMap의 아이디를 적어준다.




DAO 작성 할 때 맨위에 설정하는 코드 (생성자)


'수업내용 정리 > 정리안된 메모' 카테고리의 다른 글

[MyBatis와 Spreing 연동하기]  (0) 2019.06.16
18/12/31​  (0) 2019.06.16
18/12/28  (0) 2019.06.16
18/12/26  (0) 2019.06.16
18/12/24  (0) 2019.06.16