일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개항기
- 3.1운동
- 국어
- 장면정부
- 경기체가
- 처음요리
- 고대문학
- 아마추어요리
- 자료구조
- JDBC구조
- 고대가요
- 스레드 트리
- framework 개요
- JDBC기초
- framework 기본
- 한국_현대사
- JDBC하는법
- 연결 리스트
- JDBC생성
- 연결 리스트 응용
- 항일운동
- 무장투쟁
- 식민통치
- 향가
- 악장
- 애국계몽운동
- CodeUp
- 제3공화국
- ... 등등
- 제4공화국
- Today
- Total
KKH_RECORDS
01 : MyBatis - 1 개요 및 설치 본문
[MyBatis의 개념]
CRUD(Create, Read, Update, Delete)의 간편화를 위해 xml로 구조화한 Mapper 설정파일로 JDBC를 구현한 영속성 프레임워크.
기존 JDBC를 통해 구현했던 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 xml설정을 통해 쉽게 구현할 수 있게 함
https://mybatis.org/mybatis-3/ko/
[MyBatis 동작 구조]
Session Factory Builder에서 build(~)를 이용하여 Session Factory 객체 생성
Session Factory 객체에서 openSession()을 이용해 Session 생성 후 Session에서 mapper.xml 참조 후 실행
[내장 별칭]
위 이미지는 사용할 일이 많을 테니, 보고 넘기지 말고 저장해 놓도록 하자!!
[MyBatis Download]
이제 제일 중요한 부분, MyBatis Download이다! 앞에 링크처리되어 있는 글을 누르면 MyBatis 공식 사이트로 이동할 수 있다.
여기서, [Products] 버튼을 눌러 주자. 버튼에 형광펜 처리를 해 놓아서 알아보기 쉬울 것이다.
[Products] 버튼을 눌렀다면, 다음과 같은 화면이 나올 것이다.
제일 위에 나오는 [MyBatis 3]의 [Links - download]를 누르면 된다. 이것도 역시 형광펜 처리를 해 놓았다.
(2020/03/17 기준 가장 최신 버전은 MyBatis 3-5-4.이다. 다른 최신 버전이 필요하다면 그것을 다운 받으면 된다.
[download] 버튼을 눌렀다면 github로 이동할 것이다.
거기서는 해당하는 버전의 [.zip] 파일을 다운로드 해 준다.
현재 가장 최근 버전인 3.5.4 기준으로 다음과 같이 화면이 구성된다.
혹시나를 위해 [.zip]파일도 올려 놓을 테니 참조하시길 바란다.
다운로드 받은 [.zip] 파일의 압축을 해제하면, 다음과 같이 내부 파일이 구성되어 있을 것이다.
원하는 프로젝트의 [lib]에 가운데 있는 [.jar] 파일을 넣어주면 된다. (서버를 만든다던가, 인코딩 설정이라던가 등의 내용은 생략)
다음에는 프로젝트 이름[1_MyBatis]에 대고 [new] - [other] - [source folder]를 만든다. 이름은 [resources] 이다.
다음이다. 상단 탭의 [Window] - [Preference] - [XML] - [XML Catalog]
[XML Catalog]에서 [User Specified Entries]를 선택한 뒤 [Add...]를 해 준다.
[Add ...]을 누른다면 다음과 같은 입력 폼이 뜰 것이다.
Location : http://mybatis.org/dtd/mybatis-3-config.dtd(복사하여 넣기)
Key Type : [Public ID](Default)
Key : -//mybatis.org/DTD Config 3.0//EN(복사하여 넣기)
위의 내용을 알맞게 넣은 뒤 [확인] 버튼을 누르고 [Apply and Close] 해 주면 된다.
[xml] 파일을 만들 차례다.
[new] - [other] - [xml Files]을 누른 뒤 next에서 DTD를 선택한다.
: DTD(Document Type Definition : 내가 지금 사용할 XML에 대해 새로운 문서 구조를 정의
그 다음에는 위에서 설정한 부분을 선택하고 next - finish를 누른다.
XML 파일 전문이다. 붙여넣기 한 뒤에 한 번씩 읽어보자.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<!-- configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?) -->
<properties resource="/driver.properties"/>
<!-- MyBatis 설정 관련 기본 세팅 -->
<settings>
<setting name="jdbcTypeForNull" value="NULL"/><!-- Data가 Null값일 경우 처리하는 방식 (빈칸이 아니라 null로 인식)-->
</settings>
<!-- DB 연결 정보 선언 부분 -->
<!-- development : 연결 정보를 여러 개 생성하여 아이디로 구분하고, 기본으로 연결할 설정 정보를 저장 -->
<environments default="development">
<!-- DB 연결 설정 정보 선언 -->
<environment id="development">
<transactionManager type="JDBC">
<!-- TR을 제어하기 위한 TransactionManager와 함께 DB Connection Instance를 가져오기 위한 Data Source 포함.
TR을 누가 관리할 것인지 선택
JDBC : 수동 commit, JDBC가 Commit, Rollback을 직접 처리
MANAGED : 자동 commit, TR에 대해 직접적인 영향을 행사하지 않음. Container가 TR 생명주기 관리 -->
</transactionManager>
<dataSource type="POOLED">
<!-- 실제 DB접속에 관한 정보들을 넣는 태고
type 속성은 Connection Pool을 사용할건지 안 할건지
type = "UNPOOLED" / "POOLED" / "JDNI"
UNPOOLED : DB 관련 요청이 들어올 때마다 실시간으로 Connection 객체를 open/close함.
: 미리 커넥션 객체를 만들어놓는 방식이 아니므로 조금 느릴 수 있다
POOLED : Connection 객체를 미리 만들어놓고 관리 → 객체를 만드는 데 시간이 걸림
: 사용자 요청 시마다 DB에 연결하여 명령을 실행하고, 명령이 종료되더라도 연결 종료하지 않고 Pool에 저장하여 요청 시마다 Pool에서 Connection을 다시 꺼내 재사용.
: 재사용할 Connection 없는 경우 새로운 Connection 생성
: (Web Applicaton의 방법으로 Web Service에서는 Connection Pool을 반드시 이용하는 것이 좋음)
JDNI -->
<!-- 연결에 필요한 정보들을 propertiy Tag로 등록 -->
<!-- 1. driver, url, username, password 정보들을 직접 작성하기--><!--
<property name="drive" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="MyBatis"/>
<property name="password" value="MyBatis"/> -->
<!-- 2. driver.properties 파일을 만들어 연결 -->
<property name="drive" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
</configuration>
[참고사항]
iBatis : MyBatis의 예전 버전
'Records 1 : Study > Framework' 카테고리의 다른 글
01 : MyBatis - 3 최종 (0) | 2020.03.25 |
---|---|
01 : MyBatis - 2 기본 보기 (0) | 2020.03.18 |
Framework 기본 (0) | 2020.03.17 |