TimeMapper 인터페이스
package org.zerock.mapper;
public interface TimeMapper {
public String selectMethod();
}
TimeMapper XML 파일
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace = "org.zerock.mapper.TimeMapper">
<select id = "selectMethod" resultType="string">
SELECT sysdate FROM dual
</select>
</mapper>
설명
빨간색 코드 : TimeMapper 인터페이스의 경로 + TimeMapper 인터페이스의 이름 (TimeMapper)
<mapper namespace = "인터페이스의 경로 + 인터페이스 이름">
예시) test.son.code 경로 아래 TimeMapper (인터페이스)가 있으면
<mapper namespace = "test.son.code.TimeMapper"> 로 작성
초록색 코드 : 인터페이스에 작성한 메소드 이름은 XML mapper 파일의
CRUD 태그 안에 id 값이랑 동일해야 한다.
예시 1) 인터페이스에 selectMemberName() 이라는 메소드가 있으면, mapper XML 파일에는
<select id = "selectMemberName" ... > 이라고 인터페이스의 메소드명과 일치해야 된다.
예시 2) updateMemberName() 메소드가 있으면, mapper XML 파일에는
<update id = "updateMemberName" ... > 이라고 인터페이스의 메소드명과 일치해야 된다.
파란색 코드 : 인터페이스 안에 해당 메소드의 리턴 타입(int, String.. 등)과
mapper 파일의 resultType 이 같아야 한다.
예시 1) public MemberDTO getMemberName(); / MemberDTO 객체를 리턴하는 하는 메소드가 존재
<select id = "getMemberName" resultType = "MemberDTO"> - (mapper xml 파일이다.)
예시 2) public int getMemberAge();
<select id = "getMemberAge" resultType = "int">
인터페이스 파일의 경로 + 인터페이스 이름 -> namespace 명과 같아야 함.
메소드 이름 -> id 값과 같아야 함.
메소드 리턴 타입 -> resultType 과 같아야 함.
'프로그래밍 > Mybatis' 카테고리의 다른 글
[Mybatis] - 마이바티스 동적쿼리 사용하기 (if ~ else 처럼 사용하기) (0) | 2021.05.10 |
---|---|
[Mybatis] - 반복되는 쿼리문 불러오기 include 태그 (0) | 2021.04.30 |
[Mybatis] - resultType에 넣을 수 있는 값 (2) | 2021.04.19 |