[spring] MyBatis 구조 - Annotation 형태
Annotation 형태로 만들 수 있다.
인터페이스로 설계
mapper 패키지 생성
인터페이스 생성
id
를 메소드로 대신한다.
/*
* <select id="list" resultType="user.vo.UserVO">
* select * from userinfo
* </select>
*/
public interface UserMapper {
@Select("select * from userinfo")
public List<UserVO> list();
}
config 파일을 수정한다.
<configuration>
<mappers>
<mapper resource="mappers/usermapper_m.xml"/>
<mapper class="mapper.UserMapper"/>
</mappers>
</configuration>
getUserList() 를 변경한다.
@Override
public List<UserVO> getUserList() {
System.out.println("UserDAO_MyBatis - getUserList");
//return sqlSession.selectList("user.list");
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.list();
}
복잡한 SQL 구문 처리가 안된다.
resultMap 을 만든다.
<resultMap type="user.vo.UserVO" id="sample">
<result property="userid" column="userid"/>
<result property="username" column="username"/>
<result property="userpwd" column="userpwd"/>
<result property="phone" column="email"/>
<result property="email" column="phone"/>
<result property="address" column="address"/>
</resultMap>
resultMap 을 사용
<!-- <select id="list" resultType="user.vo.UserVO" > -->
<select id="list" resultMap="sample" >
select * from userinfo
</select>
출력결과
======= list ======
UserDAO_MyBatis - getUserList
(getUserList) 메소드 수행에 걸린 시간: 2ms
UserVO [userid=java03, username=홍씨, userpwd=1234, email=123-4567-0000, phone=hong@n.com, address=서울시]
UserVO [userid=java01, username=홍씨, userpwd=1234, email=000-0000-0000, phone=hong@n.com, address=서울시]
UserVO [userid=java02, username=홍씨, userpwd=1234, email=123-4567-0000, phone=hong@n.com, address=서울시]
UserVO [userid=admin, username=관리자, userpwd=a1234, email=02-1234, phone=admin@mc.co.kr, address=서울 역삼]
UserVO [userid=user01, username=길동이, userpwd=1234, email=00-0000, phone=hong@mc.co.kr, address=서울]
(removeUser) 메소드 수행에 걸린 시간: 1ms
export file : https://goo.gl/M5KbJc
'Programming > Spring' 카테고리의 다른 글
[maven] 로컬에 있는 jar 파일을 pom.xml에 추가하기 (0) | 2017.01.24 |
---|---|
[Spring] 이미지 보여주기 & 파일 다운로드 (2) | 2016.10.13 |
[spring] MyBatis 구현 (0) | 2016.04.25 |
[spring] iBatis 구현 (0) | 2016.04.25 |
[spring] iBatis, MyBatis Framework 아키텍처 (0) | 2016.04.24 |
댓글