[java] MyBatis 설정 파일의 구조

MyBatis는 자바 ORM(Object Relational Mapping) 프레임워크로, 데이터베이스와 자바 객체 간의 매핑을 간단하게 처리할 수 있게 도와줍니다. MyBatis를 사용하기 위해서는 설정 파일을 작성해야 하는데, 이 설정 파일은 MyBatis의 동작을 제어하고 데이터베이스 연결, 매핑 구성 등의 정보를 포함하고 있습니다.

설정 파일의 기본 구조

MyBatis의 설정 파일은 일반적으로 mybatis-config.xml라는 이름으로 작성되며, 일반적으로 프로젝트의 프로젝트 리소스 폴더에 위치합니다. 설정 파일은 다음과 같은 구조로 작성됩니다:

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

    <!-- 설정 내용 -->

</configuration>

위의 예시에서는 configuration 요소가 설정 파일의 최상위 요소입니다. 이 요소 내부에는 데이터베이스 연결 정보, 매퍼 매핑 구성 등의 설정 내용이 들어갑니다.

데이터베이스 연결 설정

데이터베이스 연결 설정은 <configuration> 요소 안에 <environments><environment>로 구성됩니다. <environment> 안에는 <transactionManager><dataSource> 요소가 필요한데, 각각 트랜잭션 관리자와 데이터베이스 연결에 필요한 정보를 설정합니다.

<configuration>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />
                <property name="username" value="root" />
                <property name="password" value="password" />
            </dataSource>
        </environment>
    </environments>

</configuration>

위의 예시에서는 MySQL 데이터베이스를 사용하는 환경을 설정하고 있습니다. transactionManager 요소는 JDBC를 사용하는 것을 지정하고, dataSource 요소는 사용자 이름, 비밀번호 등과 함께 데이터베이스 연결에 필요한 정보를 설정합니다.

매퍼 구성

매퍼는 MyBatis에서 SQL 쿼리와 자바 객체 간의 매핑 정보를 담고 있는 XML 파일입니다. 설정 파일에서는 매퍼 구성을 <mappers><mapper> 요소로 할 수 있습니다. <mappers> 요소 안에는 <mapper> 요소로 각각의 매퍼 파일을 지정해줍니다.

<configuration>

    <!-- 데이터베이스 연결 설정 -->

    <mappers>
        <mapper resource="com/example/mybatis/mapper/MyMapper.xml" />
    </mappers>

</configuration>

위의 예시에서는 MyMapper.xml 파일이 매퍼로 지정되어 있습니다. 매퍼 파일은 실제 SQL 쿼리문과 결과 매핑 정보를 담고 있으므로, 프로젝트 리소스 폴더에 실제 매퍼 파일을 작성해야 합니다.

설정 파일의 참조

위에서 설명한 구조 외에도 MyBatis 설정 파일에서 많은 다른 설정 옵션을 제공합니다. 이를 참조하고 싶을 때에는 공식 문서나 다른 참조 자료를 참고하시기 바랍니다.

참고 자료