mybatis 예제
소개
Mybatis는 Java 언어를 위한 오픈 소스 ORM(Object-Relational Mapping) 프레임워크입니다. Mybatis를 사용하면 SQL 쿼리와 자바 오브젝트 간의 매핑을 효율적으로 처리할 수 있습니다. 이번 예제에서는 Mybatis를 사용하여 데이터베이스와 연동하는 간단한 예제를 살펴보겠습니다.
환경 설정
- Mybatis 라이브러리를 다운로드한 후 프로젝트의 라이브러리 디렉터리에 추가합니다.
- 데이터베이스 연결 정보를 설정하는
mybatis-config.xml
파일을 생성합니다. - 데이터베이스 연결 정보와 SQL 매퍼 파일의 경로를 설정합니다.
- 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