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이 포함된 타입이 될 수 있다.
- 참고자료
MyBatis – 마이바티스 3 | 매퍼 XML 파일
Mapper XML 파일 마이바티스의 가장 큰 장점은 매핑구문이다. 이건 간혹 마법을 부리는 것처럼 보일 수 있다. SQL Map XML 파일은 상대적으로 간단하다. 더군다나 동일한 기능의 JDBC 코드와 비교하면
mybatis.org