[java] MyBatis와 데이터베이스 연동

이 블로그 포스트에서는 Java 프로젝트에서 MyBatis를 사용하여 데이터베이스를 연동하는 방법에 대해 알아보겠습니다.

1. MyBatis란?

MyBatis는 Java 언어를 위한 ORM(Object-Relational Mapping) 프레임워크로, SQL 쿼리와 객체 매핑을 편리하게 처리할 수 있도록 도와줍니다. MyBatis는 XML 또는 애노테이션을 사용하여 SQL 매핑을 정의하고, 데이터베이스와의 상호작용을 쉽게 처리할 수 있도록 지원합니다.

2. MyBatis 설정

Java 프로젝트에서 MyBatis를 사용하기 위해서는 먼저 Maven이나 Gradle 같은 의존성 관리 도구를 이용하여 MyBatis 및 관련 라이브러리를 프로젝트에 추가해야 합니다.

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>{version}</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>{version}</version>
</dependency>
<!-- 기타 관련 라이브러리 추가 -->

3. 데이터베이스 연동

MyBatis를 사용하여 데이터베이스를 연동하려면 다음과 같은 단계를 거쳐야 합니다.

4. 예제 프로젝트

아래는 간단한 MyBatis를 사용한 데이터베이스 연동 예제입니다.

1) MyBatis XML 설정 파일 (mybatis-config.xml)

<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="{driver}"/>
                <property name="url" value="{url}"/>
                <property name="username" value="{username}"/>
                <property name="password" value="{password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

2) 매퍼 인터페이스 및 SQL 매핑 파일 (UserMapper.java, UserMapper.xml)

public interface UserMapper {
    User getUserById(int id);
}
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUserById" resultType="com.example.model.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

3) 데이터베이스 연결 및 쿼리 실행

String resource = "mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getuserById(1);

sqlSession.close();

마치며

이상으로 Java 프로젝트에서 MyBatis를 사용하여 데이터베이스를 연동하는 방법에 대해 알아보았습니다. MyBatis를 효과적으로 활용하여 데이터베이스와의 상호작용을 간편하게 처리할 수 있습니다.

참고문헌: MyBatis 공식 홈페이지

부가질문이 있으시다면 언제든지 말씀해주세요!