매퍼 XML요소 | 설명 |
mapper | 루트 엘리먼트 |
insert | 매핑된 INSERT문 |
update | 매핑된 UPDATE문 |
delete | 매핑된 DELETE문 |
select | 매핑된 SELECT문 |
위의 요소에서 사용할 수 있는 공통 속성
속성 | 설명 |
id | 필수 속성. 반드시 전체 Mapper 파일들 내에서 유일한 값으로 설정 |
parameterType | SQL 실행에 필요한 데이터를 외부로부터 받아야할 때 사용 일반적으로 기본형이나 VO형태의 클래스로 지정 |
parameterMap | 외부 parameterMap을 찾기 위한 접근 방법. 비권장됨. 예전에 파라미터를 매핑하기 위해 사용되었으나 현재는 X |
statementType | Statement, Prepared, Callable중 선택. 디폴트는 PREPARED |
1.SELECT
<select id=”구분자” resultType=”반환타입”>
select 컬럼명1, 컬럼명2 … from 테이블명
</select>
SELECT요소에만 사용되는 속성
속성 | 설명 |
resultType | 검색관련 SQL 구문이 실행되면 ResultSet이 리턴되며, ResultSet에 저장된 검색 결과를 어떤 자바 객체에 매핑할지 지정해야하는데, 이때 사용. |
resultMap | 외부 resultMap 참조명 |
fetchSize | 지정된 수만큼의 결과를 반환하는 값 |
파라미터: SQL문의 파라미터 값을 받기 위해 #{} 기호로 표기 {}속에 "값"이나 자바빈의 "프로퍼티명"
표기법: #{프로퍼티명}
select문
<select id=”구분자” parameterType=”파라메터타입” resultType=”반환타입”>
select 컬럼명1, 컬럼명2 … from 테이블명 where 컬럼명 = #{프로퍼티}
</select>
insert문
<insert id=”구분자” parameterType=”파라메터타입”>
insert into 테이블명(컬럼명1, 컬럼명2…) values(#{값1}, #{값2} …)
</insert>
update문
<update id=”구분자” parameterType=”파라메터타입”>
update 테이블명 set 컬럼명1 = #{값1}, 컬럼명2 = #{값2} where 컬럼명 = #{값3}
</update>
delete문
<delete id=”구분자” parameterType=”파라메터타입”>
delete from 테이블명 where 컬럼명 = #{값1}
</delete>
데이터베이스가 자동 생성키를 생성하지 않은 경우
<insert> 요소 내에 <selectKey>요소로 키 생성에 필요한 SELECT문을 기술 <selectKey>의 속성
속성 | 설명 |
keyProperty | selectKey 구문의 결과가 할당될 대상 프로퍼티. |
resultType | 결과 타입 |
order | BEFORE는 insert문 전 실행. AFTER는 insert문 후 실행 |
statementType | Statement, Prepared, Callable 중 선택, 디폴트는 PREPARED |
<insert id=”구분자” parameterType=”파라메터타입”>
<selectKey keyProperty=”프로퍼티” resultType=”자료형” order=”BEFORE” statementType=”PREPARED”>
SELECT문(키 생성 관련)
</selectKey>
insert into 테이블명(컬럼명1, 컬럼명2…) values(#{프로퍼티1}, #{프로퍼티2} …)
</insert>
num=3인 passwd=1234가 일치하면 1
불일치하면 0 출력