1. MyBatis SQL : select
select 구문은 마이바티스에서 가장 흔히 사용할 엘리먼트이다.
아래 select 구문의 이름은 selectPerson이고, 결과 데이터는 hashmap에 저장된다.
<select id="selectPerson" resultType="hashmap">
SELECT * FROM PERSON WHERE ID = #{id}
</select>
mapper.java에 구문 명과 메서드 명을 일치시키고, 반환타입을 맞춰줘야 한다.
xml 파일을 만들지 않고 어노테이션으로 쿼리문을 실행할 수도 있다.
2. 파라미터 표기법
이 표기법은 마이바티스에게 PreparedStatement 파라미터를 만들도록 지시한다.
#{id}
JDBC에서는 아래와 같은 "?" 형태의 파라미터를 받았으나, 마이바티스는 위의 표기법으로 파라미터를 받는다.
String selectPerson = "SELECT * FROM PERSON WHERE ID=?";
PreparedStatement ps = conn.prepareStatement(selectPerson);
ps.setInt(1,id);
3. select 엘리먼트 속성
<select id="selectPerson" parameterType="int" resultType="hashmap">
- id : java 파일에서 메서드를 매칭하기 위한 구문의 이름
- parameterType : 구문에 전달될 파라미터의 패키지 경로를 포함한 전체 클래스명이나 별칭
- resultMap : 외부 resultMap을 반환타입으로 참조
- resultType : 리턴되는 기대타입의 패키지 경로를 포함한 전체 클래스명이나 별칭
* resultType이 collection인 경우, collection 타입 자체가 아닌 collection이 포함된 타입이 될 수 있다.