이 문서의 가장 위에 이 구문을 추가한다.
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
- DTD: 이 문서 내에 있는 태그들이 configuration 태그 안에 있어도 되는지 유효성을 체크해주는 구문이다.
[기본 설정]
<configuration>
<settings>
<setting name="" value=""/>
</settings>
<typeAliases>
<typeAlias type="" alias=""/>
</typeAliases>
<environments default="">
<environment id="">
<transactionManager type=""/>
<dataSource type="">
<property name="driver" value=""/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource=""/>
</mappers>
</configuration>
configuration
mybatis-config.xml 문서의 형식은 configuration, 즉 환경 설정이라는 것을 뜻한다.
이때 configuration 태그가 전체를 감싼다.
settings
mybatis를 구동했을 때 선언할 설정들을 작성하는 태그 영역이다.
<setting name="jdbcTypeForNull" value="NULL"/>
: 데이터가 null로 전달되었을 땐 빈 칸이 아니라 NULL로 인식한다. 그리고 이 NULL은 무조건 대문자로 작성해야 한다.
typeAliases
VO/DTO 클래스의 full 클래스명을 단순 클래스명으로 사용하기 위해 별칭을 등록하는 영역이다.
이때 별칭은 보통 소문자로 작성한다.
<typeAlias type="VO/DTO 클래스의 경로" alias="VO/DTO 클래스의 별칭(소문자)"/>
environments
mybatis에서 연동할 DB에 대한 정보들을 등록하는 영역으로 여러 개의 DB 정보를 등록할 수 있다.
이때 default 속성으로 여러 개의 id 중 어떤 DB를 기본 DB로 사용할 것인지 설정해야 한다.
<environments default="develop">
<environment id="develop">
</environment>
</environments>
transactionManager
JDBC와 MANAGED 중 하나를 선택할 수 있는 태그이다.
- JDBC는 트랜잭션 처리를 직접 관리한다.(이는 수동으로 commit한다.)
- MANAGED는 트랜잭션에 관여하지 않는다.
<transactionManager type="JDBC"/>
dataSource
POOLED와 UNPOOLED 중 하나를 선택할 수 있는 태그이다.
- Connection Pool 사용 여부를 결정하는데, Connection Pool은 connection 객체를 담아두는 영역이다.
- POOLED는 Connection Pool을 사용하겠다는 것이다.
- UNPOOLED는 Connection Pool을 사용하지 않겠다는 것이다.
<dataSource type="POOLED">
<property name="driver" value="oracle 드라이버 경로"/>
<property name="url" value="oracle url주소"/>
<property name="username" value="db 아이디"/>
<property name="password" value="db 비밀번호"/>
</dataSource>
mappers
실행할 sql문들을 기록해두는 파일을 등록하는 영역이다.
<mappers>
<mapper resource="mapper 경로"/>
</mappers>