Programming Language/Javascript, ...

[MyBatis] mybatis-config.xml

Ma_Sand 2022. 6. 13. 10:31
반응형

이 문서의 가장 위에 이 구문을 추가한다.

더보기

<!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>

반응형