티스토리 뷰
MyBatis를 사용하다 보면 간혹 헷갈리는 부분이다. resultType, resultMap을 상황에 따라 적절하게 사용해야 한다. 우선 MyBatis 공식 사이트에서 정의하고 있는 부분을 살펴보자.
resultType - 이 구문에 의해 리턴되는 기대타입의 패키지 경로를 포함한 전체 클래스명이나 별칭, collection인 경우 collection 타입 자체가 아닌 collection이 포함된 타입이 될 수 있다.
resultMap - 외부 resultMap의 참조명 결과맵은 MyBatis의 가장 강력한 기능이다.
이렇게 설명하고 있다. 확 와닿지 않는 문구이지 않는가? 다시 정리해보자.
resultType - 클래스명 전체 또는 Alias를 입력해야 한다. VO, DTO등의 객체를 담을 수 있는 클래스의 경로를 명시하여 사용하면 된다. 자동매핑되기 때문에 편리하지만 일부 제한이 있다.
<select id="selectUserInfo" resultType="com.xxx.xxx.xxx.UserVO">
...
</select>
<select id="selectUserCount" resultType="int">
...
</select>
resultMap - 개발자가 직접 POJO 클래스에 매핑하며, 번거롭지만 제한없이 사용가능하다.
<resultMap id="userMap" type="com.xxx.xxx.xxx.UserVO">
<result property="userId" column="USER_ID">
<result property="userName" column="USER_NAME">
....
</resultMap>
<select id="selectUserInfo" resultMap="userMap">
...
</select>
'프로그래밍 > Back end' 카테고리의 다른 글
[Back end] DAO 그리고 DTO, VO 차이 (0) | 2019.10.21 |
---|---|
[Back end] MyBatis foreach 동적 SQL (0) | 2019.09.08 |
[Back end] JDK, JRE 무엇이 다른가? 그리고 JVM (0) | 2019.07.08 |
[Back end] Spring log4j, logback 중복 로그 (0) | 2019.07.08 |
[Back end] Java RestTemplate 예제 (Get&Post&Put&Delete) (0) | 2019.07.05 |
- 정렬 알고리즘
- 이직
- 오라클 내장 함수
- 리액트
- effective java
- 회고
- sort algorithm
- 프로그래머
- Collection
- 성능분석
- 제주도 여행
- Linux 명령어
- 리액트 16
- 소프트웨어공학
- React
- 리눅스 명령어
- javascript
- 개발환경
- Maven
- 자바
- 자바스크립트
- 경력관리
- spring
- Java
- Eclipse
- Tomcat
- SQL
- 오라클
- 프로그래머스
- 제주도 3박4일 일정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |