[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를 사용하여 데이터베이스를 연동하려면 다음과 같은 단계를 거쳐야 합니다.
- MyBatis XML 설정 파일 작성: 데이터베이스 접속 정보, SQL 매핑 등을 정의하는 XML 파일을 작성합니다.
- 매퍼 인터페이스 및 SQL 매핑 파일 작성: 데이터베이스에 접근할 때 필요한 SQL 쿼리와 매핑을 정의한 XML 파일을 작성하고, 인터페이스를 구현합니다.
- 데이터베이스 연결 및 쿼리 실행: MyBatis 설정을 통해 데이터베이스에 접속하고, 정의한 SQL 쿼리를 실행하여 원하는 결과를 얻습니다.
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 공식 홈페이지
부가질문이 있으시다면 언제든지 말씀해주세요!