mybatis 시작

MyBatis란?

MyBatis는 자바 어플리케이션과 SQL 데이터베이스를 연결하기 위한 오픈 소스 퍼시스턴스 프레임워크입니다. JDBC를 대신하여 개발자가 SQL 질의와 결과 매핑을 편리하게 다룰 수 있도록 도와줍니다.

MyBatis 설정하기

  1. 먼저 Maven 또는 Gradle을 사용하여 MyBatis를 프로젝트에 추가합니다. (pom.xml 또는 build.gradle 파일에 의존성을 추가합니다.)
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <!-- 데이터베이스 드라이버 의존성 추가 -->
</dependencies>
  1. mybatis-config.xml 파일을 프로젝트에 추가하고 데이터베이스 연결 및 MyBatis 설정을 구성합니다.
<?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>
    <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>

    <mappers>
        <!-- 매퍼 파일 위치 지정 -->
    </mappers>
</configuration>
  1. 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="com.example.mapper.UserMapper">
    <select id="getUserById" resultType="com.example.model.User">
        SELECT * FROM users WHERE id=#{id}
    </select>
    <!-- 다른 SQL 질의 정의 -->
</mapper>
  1. Java 코드에서 MyBatis를 사용하여 데이터베이스와 상호작용합니다.
public class UserDao {
    private SqlSessionFactory sqlSessionFactory;

    public UserDao() {
        sqlSessionFactory = MyBatisUtil.getSqlSessionFactory();
    }

    public User getUserById(int id) {
        try (SqlSession session = sqlSessionFactory.openSession()) {
            UserMapper userMapper = session.getMapper(UserMapper.class);
            return userMapper.getUserById(id);
        }
    }
}

마무리

이제 MyBatis를 시작할 준비가 되었습니다. 데이터베이스와의 연동을 간편하게 처리하고 SQL 문을 다루는 기능을 활용하여 개발 생산성을 향상시킬 수 있습니다. 추가적인 MyBatis 기능과 실제 프로젝트에 적용된 예제를 참고하여 더 깊게 공부할 수 있습니다.

#mybatis #데이터베이스 연동