1. iBATIS 실행 흐름도
2. iBATIS 설정 파일
① 설정파일은 XML기반으로 작성
② SqlMapConfig
- 전역 설정 위한 파일 : iBATIS Framework가 실행되는 데 필요한 여러 설정들을 한다
- Transaction 관리정보, DataSource 생성을 위한 설정 정보, SqlMap 파일 위치 등
③ SqlMap
- SQL문을 등록
- SQL문을 실행하기 위해 필요한 input Data와 OutputData에 대한 설정을 한다.
④ 설정 파일들은 작성 후 classpath내 저장한다.
3. SqlMapConfig 설정
① SQLMapConfig 설정 파일(SqlMapConfig.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<전역 설정 옵션>
<settings useStatementNamespaces=“false” cacheModelsEnabled=“true” />
<트랜 잭션 관리>
<transactionManager type="JDBC" commitRequired="false">
<DataSource 설정>
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value=“DriverClassName"/>
<property name="JDBC.ConnectionURL" value=“Url”/>
<property name="JDBC.Username" value=“User/>
<property name="JDBC.Password" value=“Password"/>
</dataSource>
</transactionManager>
<sqlMap 파일 참조>
<sqlMap resource="config/member.xml"/>
</sqlMapConfig>
② <typeAlias> 요소
- 설정파일에서 사용할 클래스의 별칭(alias) 설정
- SqlMap에서도 설정 가능
- iBATIS는 정의된 alias로 언제든지 원래 type에 접근 가능
- SqlMapConfig에 설정하면 모든 SqlMap에서 사용가능
· <typeAlias alias="mdto" type="member.dto.MemberDTO" />
- Framework에서 미리 정의하여 제공하는 typeAlias
· Transaction manager : JDBC, JTA, EXTERNAL
· Data types : string, int, long, double, boolean, hashmap, arraylist, object 등
· Data source factory : SIMPLE, DBCP, JNDI
③ <transactionManager> 요소
- Transaction Manager 타입 설정
· JDBC : 단순 JDBC 기반의 Transaction Manager를 제공함.
· JTA : application이 동작하는 컨테이너 기반의 Transaction Manager를 제공함.
· EXTERNAL : 트랜잭션 관리를 iBATIS에서 하지 않음.
- <dataSource> : iBATIS에서 사용할 DataSource를 생성.
· SIMPLE : iBATIS 자체 제공하는 DataSourceFactory 사용.
· DBCP : Jakarta Commons Database Connection Pool 구현함.
· JNDI : Naming서버에 등록된 DataSource를 사용함.
보통 Container가 제공하는 것을 사용.
· 하위태그를 이용하여 필요한 property들을 설정한다. (driver, url 계정정보 등)
④ <sqlMap> 요소
- SQL문을 가지고 있는 설정파일인 SQL Map파일의 위치 지정
- resource 속성 : class path 상의 SQL Map 파일
- 여러 파일 지정 가능
'프로그래밍 > ibatis(Mybatis)' 카테고리의 다른 글
iBATIS를 통한 SQL 실행 (0) | 2012.06.15 |
---|---|
iBatis 예제 - insert와 select하기 (0) | 2012.06.15 |
iBATIS Quick Start (0) | 2012.06.15 |
ibatis 시작하기[실습] (0) | 2012.06.14 |
framwork 종류와 개념 (0) | 2012.06.14 |