728x90

 

MyBatis 설정 정보 파일 세팅

1)class의 alias(별칭) 설정

2)DB 연결 설정

3)sql 구문 경로 설정

 

기본적으로 여러 매퍼파일과 여러 환경들이 존재할 수 있기 때문에 각 태그에는 주식별자(PK) 개념의 역할을 하는 id속성 같은 것들이 있고, 

상위 태그 안에 관련 하위태그가 있는 방식이다

 


1. <environments>

Database 연결 설정 정보
실질적인 데이터는 여기  environments태그 안에 많이 담김

default 속성값 : environments 아래 하위 태그인 연결할 환경(environment)이 많은데 어떤 녀석을 기본값으로 부를지 지정

<environments default="development">
	<environment id="development">
	</environment>
</environments>

 

1)<environment>

id속성 : environment 구분

2)<transactionManager

트랜잭션(커밋,롤백)을 누가 관리할 것인지 설정

<environment id="development">
			<transactionManager type="JDBC"/>
</environment>

 

3)<dataSource>

ConnectionPool 사용 여부

<environment id="development">
	<transactionManager type="JDBC"/>
	<dataSource type="POOLED">
</environment>

dataSource type에 들어가는 속성값 3가지

1)UNPOOLED

db에 대한 요청이 올 때마다 실시간으로 커넥션을 만드는 것. 미리 커넥션 객체를 만들어 놓는 것이 아니기 때문에 좀 느릴 수 있음


 2)POOLED

미리 커넥션 객체를 만들어 놓고 가져다 쓰는 것. 커넥션 객체를 미리 만들어 놓고 관리하여 요청이 올 때마다 pool에서 꺼내서 재사용
  Web applicaion에서 많이 쓰는 방식

※ static이랑 상관없이 jdbc 자체가 pooled방식


 3)JNDI

외부에서 관리하는 방식


  

4)<property>

DB에 연결할 DB 정보와 계정정보

각각 driver, url 정보를 넣고 username과 password에는 연결할 db의 계정명과 비번을 넣으면 된다

아래의 방식은 EL을 이용해 외부에 따로 properties파일에 정보를 넣어놨고, 그냥 바로 value에다가 적어도 된다

    <property name="driver" value="${driver}"/> <!-- el형식. jsp에서 쓴 el이랑 똑같은 el은 아닌 걸 주의. 단순 expression language일 뿐 함수 사용이나 그런게 안된다는 의미 -->
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>

 

 

 

2.<mappers>

mappers등록

쿼리문을 많이 쓸 것이기 때문에 mappers등록하여 어떤 매퍼를 끌어올지를 알려주게 하는 설정

"mappers..." 앞에 /는 있어도 없어도 됨

	<mappers>
		<mapper resource="mappers/member-mapper.xml"></mapper>
		<mapper resource="/mappers/board-mapper.xml"/>
	</mappers>

 

 

 <MyBatis Configuration파일의 태그 순서>

설정 파일의 최상위 태그인 <configuration></configuration> 안에

태그들이 아래의 순서대로 있어야 에러없이 잘 작동한다


 (properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?, reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)

728x90
반응형
728x90

 

MyBatis 설정 정보 파일 세팅

1)class의 alias(별칭) 설정

2)DB 연결 설정

3)sql 구문 경로 설정

 

 <MyBatis Configuration파일의 태그 순서>

설정 파일의 최상위 태그인 <configuration></configuration> 안에

태그들이 아래의 순서대로 있어야 에러없이 잘 작동한다


 (properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?, reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)

 

<?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>
	<properties resource="/driver.properties"></properties>
	<environments default="development"> <!-- default 속성값 : environments 아래 하위 태그인 연결할 환경(environment)이 많은데 어떤 녀석을 기본값으로 부를지 지정 -->

		<environment id="development"> <!-- id속성 : environment 구분 -->  
			<transactionManager type="JDBC"/>  <!-- 트랜잭션(커밋,롤백)을 누가 관리할 것인지 설정 -->
			<dataSource type="POOLED"> <!-- ConnectionPool 사용 여부 -->

			 	<!-- 2)외부파일 로드 방식 -->
			 	<property name="driver" value="${driver}"/> <!-- el형식. jsp에서 쓴 el이랑 똑같은 el은 아닌 걸 주의. 단순 expression language일 뿐 함수 사용이나 그런게 안된다는 의미 -->
			 	<property name="url" value="${url}"/>
			 	<property name="username" value="${username}"/>
			 	<property name="passwoard" value="${password}"/> 
			 	<!-- 파일들을 읽어올 수 있게 properties태그 설정을 밖에 해야함 -->
			</dataSource>
		</environment>
	</environments>

</configuration> <!-- 다큐먼트 타입을 안쓰면 자동완성에 컨피겨 안뜨고 독타입부터 쓰라고 추천뜸  -->

 

728x90
반응형

+ Recent posts