mybatis 예제

소개

Mybatis는 Java 언어를 위한 오픈 소스 ORM(Object-Relational Mapping) 프레임워크입니다. Mybatis를 사용하면 SQL 쿼리와 자바 오브젝트 간의 매핑을 효율적으로 처리할 수 있습니다. 이번 예제에서는 Mybatis를 사용하여 데이터베이스와 연동하는 간단한 예제를 살펴보겠습니다.

환경 설정

  1. Mybatis 라이브러리를 다운로드한 후 프로젝트의 라이브러리 디렉터리에 추가합니다.
  2. 데이터베이스 연결 정보를 설정하는 mybatis-config.xml 파일을 생성합니다.
  3. 데이터베이스 연결 정보와 SQL 매퍼 파일의 경로를 설정합니다.
  4. SQL 매퍼 파일을 작성합니다. 이 파일에서는 SQL 쿼리와 데이터베이스 테이블의 매핑을 정의합니다.

예제 코드

package com.example.mybatisdemo;

import com.example.mybatisdemo.model.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MybatisDemo {
    public static void main(String[] args) {
        try {
            // Mybatis 환경 설정 파일을 읽어옵니다.
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

            // SqlSession을 생성합니다.
            try (SqlSession session = sqlSessionFactory.openSession()) {
                // UserMapper 인터페이스를 가져옵니다.
                UserMapper userMapper = session.getMapper(UserMapper.class);

                // 사용자 정보를 조회합니다.
                List<User> userList = userMapper.getAllUsers();
                for (User user : userList) {
                    System.out.println(user.getName() + ", " + user.getEmail());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
<!-- 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/mybatis_demo"/>
                <property name="username" value="root"/>
                <property name="password" value="password"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="com/example/mybatisdemo/mapper/UserMapper.xml"/>
    </mappers>
</configuration>
<!-- UserMapper.xml -->
<mapper namespace="com.example.mybatisdemo.mapper.UserMapper">
    <select id="getAllUsers" resultType="com.example.mybatisdemo.model.User">
        SELECT * FROM users
    </select>
</mapper>

실행 결과

다음은 위의 예제를 실행한 후 출력되는 결과입니다.

John Doe, john.doe@example.com
Jane Smith, jane.smith@example.com
David Lee, david.lee@example.com

위의 예제를 통해 Mybatis를 사용하여 데이터베이스와의 연동을 간단하게 구현할 수 있다는 것을 알 수 있습니다.

#Mybatis #Java