[java] MyBatis 웹 어플리케이션 구축하기

현대 웹 어플리케이션은 대부분 데이터베이스와 상호작용하여 정보를 저장하고 검색하는 기능을 제공합니다. 이를 위해서는 데이터베이스에 접근하고 데이터를 조작하는 기술이 필요합니다. MyBatis는 자바 언어를 사용하여 데이터베이스 작업을 간단하게 처리할 수 있는 프레임워크입니다.

1. MyBatis란?

MyBatis는 오픈 소스 자바 퍼시스턴스 프레임워크로, 데이터베이스와의 상호작용을 쉽게 처리할 수 있도록 도와줍니다. MyBatis는 SQL 매핑 파일을 작성하여 데이터베이스 작업을 정의하는 방식을 제공합니다. 이를 통해 복잡한 SQL 쿼리를 작성하고 실행하는 부분을 쉽게 분리할 수 있습니다.

2. MyBatis 웹 어플리케이션 구축하기

아래는 MyBatis를 사용하여 웹 어플리케이션을 구축하는 간단한 예제입니다.

2.1 프로젝트 설정

먼저 Maven을 사용하여 프로젝트를 생성합니다. 아래의 의존성을 pom.xml 파일에 추가하세요.

<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
</dependencies>

2.2 데이터베이스 연결 설정

MyBatis는 데이터베이스에 연결하기 위한 설정이 필요합니다. mybatis-config.xml 파일을 생성하고 아래의 내용을 추가하세요.

<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="admin" />
                <property name="password" value="admin123" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/ExampleMapper.xml" />
    </mappers>
</configuration>

위의 예시는 MySQL 데이터베이스에 접속하기 위한 설정입니다. 실제 데이터베이스 정보에 맞게 값을 변경해주세요.

2.3 SQL 매핑 파일 작성

SQL 매핑 파일은 데이터베이스 작업을 정의하는 역할을 합니다. ExampleMapper.xml 파일을 생성하고 아래의 내용을 추가하세요.

<mapper namespace="com.example.mapper.ExampleMapper">
    <select id="selectExample" resultType="com.example.model.Example">
        SELECT * FROM example_table
    </select>
</mapper>

위의 예시는 example_table에서 모든 데이터를 조회하는 쿼리를 정의한 것입니다.

2.4 모델 클래스 작성

데이터베이스에서 조회한 결과를 해당하는 모델 클래스에 담아 사용할 수 있습니다. Example.java 파일을 생성하고 아래의 내용을 추가하세요.

public class Example {
    private int id;
    private String name;
    
    // Getter and Setter
}

2.5 MyBatis 사용하기

모델 클래스와 SQL 매핑 파일을 정의하였으면, 이를 사용하여 데이터베이스 작업을 수행할 수 있습니다. 아래는 예시 코드입니다.

public class ExampleDAO {
    private SqlSessionFactory sqlSessionFactory;
    
    public ExampleDAO() {
        // MyBatis 설정 로드
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        this.sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    }
    
    public List<Example> getExamples() {
        try (SqlSession session = sqlSessionFactory.openSession()) {
            ExampleMapper exampleMapper = session.getMapper(ExampleMapper.class);
            return exampleMapper.selectExample();
        }
    }
}

위의 예시는 ExampleMapper를 사용하여 데이터베이스에서 데이터를 조회하는 코드입니다.

3. 결론

MyBatis를 사용하여 웹 어플리케이션을 구축하는 방법에 대해 알아보았습니다. MyBatis는 데이터베이스 작업을 쉽게 처리할 수 있는 강력한 도구입니다. 이를 통해 데이터베이스와의 상호작용을 간소화하고, 신뢰성있는 웹 어플리케이션을 구축할 수 있습니다.

주요 참고 자료