반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[MyBatis] mybatis-config.xml - 마이바티스 전체 설정정보 작성하기 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/MyBatis

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

yeonee 여니 2023. 7. 31. 19:45
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

yeonee 블로그 : 네이버 블로그

예쁘고 맛있게 먹고 건강하게,강인하지만 온화하게 행하라. ※맛스타운스타일상 인스타 www.instagram.com/s2._.y25n ※맛집감성일상 유튜브https://youtube.com/channel/@S2_yeonee 티스토리https://yeoneeluv.tistory.co

blog.naver.com

 

* Resources 안에 resouces 소스폴더 생성 후 그 안에 xml파일 생성해주기.

 

* settings : MyBatis 구동시 선언할 설정들을 작성하는 영역 (마이바티스 설정과 관련된 기본 세팅 선언)

ex) <settings>
      <!-- 만약 데이터가 넘어오지않으면 빈칸이 아닌 NULL로 인식하겠다. *규칙: 꼭 대문자 NULL로 입력하기-->
      <setting name="jdbcTypeForNull" value="NULL" />
      </settings>

 

* typeAliases : VO/DTO 클래스들의 풀 클래스명을 단순한 클래스명으로사용하기 위해서 
                          별칭을 등록할 수 있는 영역 (각 객체에 대한 별칭 설정)

ex) <typeAliases>
      <typeAlias type="com.kh.member.model.vo.Member" alias="member"/> 
      <!-- com.kh.member.model.vo.Member을 member이라는 별칭을 부여하겠다. -->
      </typeAliases>

 

* environments : MyBatis에서 연동할 DB정보들을 등록하는 영역(여러개의 DB정보를 등록 가능)
                             => default 속성으로 여러개의 id중 어떤 db를 기본 db로 사용할건지 설정해줘야한다.
                             (DB에 연결할 설정에 대한 정보 선언)

여러개의 environment를 집어 넣으면 여러개의 DB에 연결할 수 있고, <environment id="이름"> 으로 구분 가능

ex) <environments default="development">
      <environment id="development">

 

*  transactionManager :  트랜잭션을 제어를 누가 할 것인가에 대한 설정. JDBC, MANAGED 둘중 하나를 선택할 수 있다.
   - JDBC : 트랜잭션관리를 직접 내가 하겠다(수동 COMMIT)
   - MANAGED : 개발자가 트랜잭션에 대해서 어떠한 영향도 행사하지 않겠다(자동 COMMIT) 

ex) <transactionManager type="JDBC"/>

 

* dataSource 실제 DB접속에 관한 정보를 넣는 태그. POOLED, UNPOOLED둘중 하나를 선택할수있음. (ConnectionPool 사용여부)
 - ConnectionPool : Connection 객체를 담아둘 수 있는 영역, 한번 생성된 Connection객체를 담아두면 재사용
                                해서 쓸수 있음
                               => POOLED : 최초 Connection객체를 생성할 때 그 정보를 pool 영역에 저장해두고 이후 재사용 가능                                                                                  (ConnectionPool을 쓰겠다.)
                               => UNPOOLED : Connection객체를 별도로 저장하지 않고 객체 호출 시 매번 생성하여 사용                                                                                                        (ConnectionPool을 안쓰겠다)

ex) <dataSource type="POOLED">

 

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

 

mapper : 실행할 sql문들을 기록해둔 mapper파일들을 등록하는 영역

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	
	<!-- setting : MyBatis 구동시 선언할 설정들을 작성하는 영역 -->
	<settings>
		<!-- 만약 데이터가 넘어오지않으면 빈칸이 아닌 NULL로 인식하겠다. *규칙: 꼭 대문자 NULL로 입력하기-->
		<setting name="jdbcTypeForNull" value="NULL" />
	</settings>

	<!-- typeAliases : VO/DTO 클래스들의 풀 클래스명을 단순한 클래스명으로사용하기 위해서 
					   별칭을 등록할 수 있는 영역 -->
	<typeAliases>
		<typeAlias type="com.kh.member.model.vo.Member" alias="member"/> <!-- com.kh.member.model.vo.Member을 member이라는 별칭을 부여하겠다. -->
	</typeAliases>


  <!-- 
  	   environments : MyBatis에서 연동할 DB정보들을 등록하는 영역(여러개의 DB정보를 등록 가능)
       => default 속성으로 여러개의 id중 어떤 db를 기본 db로 사용할건지 설정해줘야한다.
  -->
  <environments default="development">
    
    <environment id="development">
      
      <!-- 
      	   transactionManager는 JDBC, MANAGED 둘중 하나를 선택할 수 있다.
      	   - JDBC : 트랜잭션관리를 직접 내가 하겠다(수동 COMMIT)
      	   - MANAGED : 개발자가 트랜잭션에 대해서 어떠한 영향도 행사하지 않겠다(자동 COMMIT)  
      -->
      <transactionManager type="JDBC"/>
      
      <!-- 
      	   dataSource : POOLED, UNPOOLED둘중 하나를 선택할수있음.(ConnectionPool 사용여부)
      	   - ConnectionPool : Connection 객체를 담아둘 수 있는 영역, 한번 생성된 Connection객체를 담아두면 재사용
      	   					  해서 쓸수 있음
      	   => POOLED : ConnectionPool을 쓰겠다.
      	   => UNPOOLED : ConnectionPool을 안쓰겠다
      -->
      <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>
  
  <!-- mapper : 실행할 sql문들을 기록해둔 mapper파일들을 등록하는 영역 -->
  <mappers>
  	<mapper resource="/mappers/board-mapper.xml"/>
  	<!-- 절대경로로제공 -->
    <mapper resource="/mappers/member-mapper.xml"/>
  </mappers>
</configuration>
728x90
반응형
LIST