<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
<!-- select문이 resultMap일 경우 -->
<resultMap type="" id="">
<result column="" property=""/>
</resultMap>
<select id="" parameterType="" resultType/resultMap="">
select 구문
</select>
<insert id="" parameterType="">
insert 구문
</insert>
</mapper>
mapper
<mapper namespace="해당 mapper 파일의 별칭">
[DML문일 경우]
<insert id="각 sql문의 식별자" parameterType="전달받을 자바타입(풀 클래스명) 또는 별칭">
(<update/>, <delete/>도 동일하다.)
<select id="각sql문의 식별자" parameterType="전달받을 자바타입(풀 클래스명) 또는 별칭"
resultType="조회결과를 반환하고자 하는 자바타입" 또는 resultMap="조회결과를 뽑아서 매핑할 resultMap의 id">
- parameterType 속성: 전달받을 값이 없으면 생략 가능하다.
- <select>는 resultType 또는 resultMap으로 결과값에 대한 타입을 반드시 지정해야 한다.
- 실행 결과가 처리된 행의 개수(int 타입)이기 때문에 resultType/resultMap에 대한 속성이 필요하지 않다.
- 기존에 사용하던 위치홀더가 아니라 #{필드명/변수명/map의값}으로 작성한다.
resultMap
ResultSet으로부터 조회된 컬럼값을 하나씩 뽑아 지정한 VO 객체에 각 필드를 담는 JDBC 코드를 줄여준다.
ex) member.setMemberId(rset.getString("MEMBER_ID"));
<resultMap id="식별자" type="조회된 결과를 담아서 반환하고자 하는 vo 객체의 타입(풀 클래스명) 또는 별칭">
<result column="조회결과를 뽑고자 하는 DB 컬럼명" property="해당 결과를 담고자하는 필드명"/>
<result column="조회결과를 뽑고자 하는 DB 컬럼명" property="해당 결과를 담고자하는 필드명"/>
.
.
</resultMap>