[MyBatis] XML설정파일 mybatis-config.xml
XML에서 SqlSessionFactory 빌드하기
모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용하기 때문에 빌드해야함
mybatis-config.xml 파일 생성
XML설정파일인 mybatis-config는 소스폴더에 넣어야함 배포폴더(classes)에 담기기 때문
DTD : 유효성체크(이 페이지에 있는 태그들이 configuration 태그 안에 존재해도 되는지 유효성체크 해주는 구문)
<configuration>
이 문서의 형식이 configuration(환경설정) 이라는 것을 알려주기 위해 구문 추가함
(configuration 태그가 전체를 감싸는 형태)
<settings>
Mybatis 구동 시 선언할 설정들을 작성하는 태그 영역
만약 null로 데이터가 전달된 경우 빈칸이 아닌 NULL로 인식(반드시 대문자 NULL로 작성) - 공식사이트 참고
<typeAliases>
VO/DTO 클래스의 풀 클래스명을 단순한 클래스명으로 사용하기 위해 별칭(보통소문자)을 등록할 수 있는 영역
<environments>
Mybatis에서 연동할 DB에 대한 정보들을 등록하는 영역(여러개 DB 정보 등록 가능)
단, default 속성으로 여러개의 id 중 어떤 DB를 기본 DB로 사용할 것인지 설정 필요
<transactionManager type="JDBC/MANAGED "/>
- JDBC : 트랜잭션 처리를 직접 관리(수동 commit)
- MANAGED : 트랜잭션에 관여하지 않음(자동 commit)
<dataSource type="POOLED/UNPOOLED ">
- Connection pool 사용 여부 설정
- Connection pool : connection 객체를 담아둘수 있는 영역, 한번 생성된 connection 객체 재사용 가능
- POOLED : Connection pool 사용O
- UNPOOLED : Connection pool 사용X
<mappers>
실행할 sql문들을 기록해둔 파일 등록 영역
<?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>
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<typeAliases>
<typeAlias type="com.kh.mybatis.member.model.vo.Member" alias="member"/>
<typeAlias type="com.kh.mybatis.board.model.vo.Board" alias="board"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" 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"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="/mappers/member-mapper.xml"/>
<mapper resource="/mappers/board-mapper.xml"/>
</mappers>
</configuration>