[java] MyBatis와 다양한 데이터베이스 연동 방법

MyBatis는 자바 언어를 위한 데이터베이스 접근 라이브러리이며, 다양한 데이터베이스와 호환됩니다. 이번 글에서는 MyBatis를 사용하여 다양한 데이터베이스와의 연동 방법에 대해 알아보겠습니다.

1. MyBatis의 다양한 데이터베이스 지원

MyBatis는 다양한 데이터베이스와 호환되는데, 주요 데이터베이스로는 Oracle, SQL Server, MySQL, PostgreSQL, DB2, H2 등이 있습니다. 또한, 별도의 설정 없이 JDBC를 통해 다른 데이터베이스와도 연동이 가능합니다.

2. 데이터베이스 설정

2.1. Maven 또는 Gradle을 통한 의존성 추가

먼저 프로젝트의 의존성으로 MyBatis 및 데이터베이스 드라이버를 추가해야 합니다. Maven을 사용 중이라면 pom.xml 파일에 다음과 같이 의존성을 추가할 수 있습니다.

<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>{MyBatis 버전}</version>
    </dependency>
    <dependency>
        <groupId>{데이터베이스 드라이버 그룹 아이디}</groupId>
        <artifactId>{데이터베이스 드라이버 아이디}</artifactId>
        <version>{데이터베이스 드라이버 버전}</version>
    </dependency>
</dependencies>

2.2. 데이터베이스 연결 정보 설정

MyBatis는 데이터베이스 연결 정보를 설정하는 XML 파일을 사용합니다. 해당 XML 파일에는 데이터베이스 연결에 필요한 정보들을 입력해야 합니다. 예를 들어 MySQL을 사용한다면 mybatis-config.xml 파일 내에 아래와 같은 구성을 할 수 있습니다.

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC" />
        <dataSource type="POOLED">
            <property name="driver" value="{드라이버 클래스명}" />
            <property name="url" value="{데이터베이스 URL}" />
            <property name="username" value="{사용자명}" />
            <property name="password" value="{비밀번호}" />
        </dataSource>
    </environment>
</environments>

위 예시에서 {}로 표시된 부분은 사용자가 각각의 데이터베이스에 맞게 값을 설정해야 합니다.

3. 데이터베이스와의 매핑

MyBatis는 SQL 쿼리를 XML 파일에 정의하여 매핑할 수 있습니다. 데이터베이스 테이블과 MyBatis의 데이터베이스 매핑 파일을 작성하여 SQL 쿼리와 연결해야 합니다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="org.example.mapper.CarMapper">
    <select id="selectCarById" parameterType="int" resultType="hashmap">
        SELECT * FROM car WHERE id = #{id}
    </select>
</mapper>

위 코드에서 namespace는 해당 매퍼의 Java 인터페이스를 가리키며, select는 SQL 쿼리를 나타냅니다.

4. 데이터베이스 연동 테스트

마지막으로, 작성한 MyBatis 연동 설정을 가지고 실제로 데이터베이스와 연동하여 테스트해 보아야 합니다.

위 포스트에서는 MyBatis를 사용하여 다양한 데이터베이스와의 연동 방법에 대해 알아보았습니다. MyBatis는 어떤 데이터베이스를 사용하더라도 JDBC를 통해 호환 가능하며, 간단한 설정으로 다양한 데이터베이스에 대해 대응이 가능합니다.

참고 문헌: