상세 컨텐츠

본문 제목

mybatis-config.xml - 마이바티스 전체 설정정보 작성하기

My Batis

by b.spring 2021. 3. 14. 04:40

본문

Java Resources 안에 resouces 소스폴더 생성 후 그 안에 xml파일 생성

 

environments : DB에 연결할 설정에 대한 정보 선언

<environments default="이름"> : 여러개의 environment 중 기본으로 연결할 정보를 설정

여러개의 environment를 집어 넣으면 여러개의 DB에 연결할 수 있고

<environment id="이름"> 으로 구분 가능

 

<transactionManager type="JDBC"> : 트랜잭션을 제어를 누가 할 것인가에 대한 설정

JDBC : JDBC가 커밋/롤백을 직접 처리하기 위해 사용(수동 commit)

MANAGED : 트랜잭션에 대해 직접적인 영향을 행사하지 않는 것 의미(자동 commit)

 

<dataSource type="POOLED"> : 실제 DB접속에 관한 정보를 넣는 태그

type : ConnectionPool을 사용할건지에 대한 여부

UNPOOLED : Connection객체를 별도로 저장하지 않고 객체 호출 시 매번 생성하여 사용

POOLED : 최초 Connection객체를 생성할 때 그 정보를 pool 영역에 저장해두고 이후 재사용 가능

 

properties : 연결정보 따로 생성 후 불러오기

 

settings : 마이바티스 설정과 관련된 기본 세팅 선언

<setting name="jdbcTypeForNull" value="NULL"/> : 데이터가 null로 전달이 되었으면 빈칸으로 인지하지말고 null로 인식해라 (value에 들어가는 NULL은 무조건 대문자로 기입)

 

mappers : DB에 사용되는 쿼리문들을 담은 mapper파일을 등록하는 부분

 

typeAliases : 각 객체에 대한 별칭 설정

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- preferences에서 미리 dtd를 등록해두고 생성함 -->
<!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<!-- 
	안에 순서를 지켜서 작성해야 함
	- The content of element type "configuration" must match 
	 "(properties?,settings?,typeAliases?,typeHandlers?,
	 	objectFactory?,objectWrapperFactory?,reflectorFactory?,
	 	plugins?,environments?,databaseIdProvider?,mappers?)".
 -->
	<!-- 연결정보 따로 생성 후 불러오기 -->
	<properties resource="/driver.properties"></properties>
	
	<!-- 마이바티스 설정과 관련된 기본 세팅 선언 -->
	<settings>
		<setting name="jdbcTypeForNull" value="NULL"/>
		<!-- 데이터가 null로 전달이 되었으면 빈칸으로 인지말고 null로 인식해라(value에 들어가는 NULL은 무조건 대문자로 기입) -->
	</settings>
	
	<!-- type에 적힌걸 Member라고 부를래! (별칭 설정) -->
	<typeAliases>
		<typeAlias type="member.model.vo.Member" alias="Member"/>
		<typeAlias type="board.model.vo.Board" alias="Board"/>
		<typeAlias type="board.model.vo.Reply" alias="Reply"/>
		<typeAlias type="board.model.vo.SearchCondition" alias="SearchCondition"/>
	</typeAliases>
	
	<!-- environments : DB에 연결할 설정에 대한 정보 선언 -->
	<environments default="development">
	<!-- default : 연결 설정을 여러 개 생성하여 아이디로 구분하고 기본으로 연결할 설정 정보를 설정하는 속성 -->
		
		<!-- Database연결할 설정 정보 선언 => environment에 대한 이름을 development라고 부를게! -->
		<environment id="development">
		
			<!-- 트랜잭션을 제어를 누가 할 것인가에 대한 설정  -->
			<!-- 
				JDBC	: JDBC가 커밋/롤백을 직접 처리하기 위해 사용(수동 commit)
				MANAGED : 트랜잭션에 대해 직접적인 영향을 행사하지 않는 것 의미(자동 commit)
			 -->
			<transactionManager type="JDBC"/>
			
			<!-- 실제 DB접속에 관한 정보를 넣는 태그 -->
			<!-- 
				type : ConnectionPool을 사용할건지에 대한 여부
					UNPOOLED
					POOLED
					JNDI
			 -->
			 <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"/> -->
                <!-- driver.properties에 등록된 파일을 가져오는 경우 -->    
	 			<property name="driver" value="${driver}"/> <!-- el아님, 띄어쓰기x -->
			 	<property name="url" value="${url}"/>
			 	<property name="username" value="${username}"/>
			 	<property name="password" value="${password}"/>
			 </dataSource>
		</environment>
	</environments>
	
	<!-- DB에 사용되는 쿼리문들을 담은 mapper파일을 등록하는 부분 -->
	<mappers>
		<mapper resource="mappers/member-mapper.xml"/> 
		<mapper resource="mappers/board-mapper.xml"/>
	</mappers>
</configuration>

'My Batis' 카테고리의 다른 글

MyBatis란?  (0) 2021.03.14

관련글 더보기

댓글 영역