마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다.
MyBatis의 특징
- 간단하다 : 간단한 퍼시스턴스 프레임워크
- 생산성 : 62%정도 줄어드는 코드 , 간단한 설정
- 성능 : 구조적강점(데이터 접근 속도를 높여주는 Join 매핑)
여러가지 방식의 데이터를 가져오기 전략 (가져오기 미루기 , SQL 줄이기 기법)
- 관심사의 분리 : 설계를 향상 (유지보수성)
리소스를 관리하여 계층화를 지원(커넥션,PreparedStetement,결과셋)
- 작업의 분배 : 팀을 세분화하는 것을 도움
- SQL문이 애플리케이션 소스 코드로부터 완전 분리
- 이식성 : 어떤 프로그래밍 언어로도 구현가능 (자바,C#,.NET,RUBY)
- 오픈소스이며 무료이다.
예시) 내가 쓴 부분 UserMapper.xml 중 일부
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?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="UserMapper">
<!-- 아이디로 회원정보 불러오기 -->
<select id="findByID" resultType="net.cot_pr1.domain.User">
select * from users where userid= #{userid}
</select>
<!-- 아이디로 프로필 이미지 찾기 -->
<select id="findprofile" resultType="string">
select profileimg from users where userid= #{userid}
</select>
<!-- 회원가입 -->
<insert id="create">
insert into users ( userid, password, name, email) values (#{userid}, #{password}, #{name}, #{email})
</insert>
<!-- ...나머지부분 생략 -->
</mapper>
| cs |
ibatis > mybatis 변경됨..
차이점
http://uwostudy.tistory.com/19
http://aid.altibase.com/pages/viewpage.action?pageId=11207174
참고, 출처
http://www.mybatis.org/mybatis-3/ko/
http://ekfqkqhd.tistory.com/entry/mybatis%EB%9E%80
http://alicepure.blogspot.kr/2013/10/mybatis.html
댓글 없음:
댓글 쓰기