[java] Java MyBatis란 무엇인가?

개요

MyBatis는 자바 언어를 위한 간단하고 강력한 SQL 매핑 프레임워크입니다. 기본적으로 JDBC 코드 작성을 줄이고 복잡한 SQL 매핑을 쉽게 처리할 수 있습니다. MyBatis는 SQL과 자바 코드를 분리하여 유지보수성을 높이고 객체 지향 프로그래밍에 더욱 집중할 수 있도록 도와줍니다.

주요 기능

  1. SQL 매핑: MyBatis는 XML 또는 어노테이션을 사용하여 SQL 문을 객체 메소드와 매핑할 수 있습니다. 이를 통해 복잡한 SQL 문을 간단하고 간결하게 표현할 수 있습니다.

  2. 자동 매핑: MyBatis는 SQL 결과를 자동으로 자바 객체로 매핑할 수 있습니다. 컬럼과 객체의 필드를 매핑할 때 자동으로 변환을 수행하여 개발자가 일일이 매핑 작업을 수행할 필요가 없습니다.

  3. 다양한 매개 변수 처리: MyBatis는 다양한 매개 변수를 처리할 수 있습니다. 단일 값, 리스트, 맵 등 다양한 형태의 매개 변수를 쉽게 처리할 수 있습니다.

  4. 트랜잭션 관리: MyBatis는 데이터베이스의 트랜잭션을 관리할 수 있습니다. 자동으로 커밋 또는 롤백을 처리하여 데이터의 일관성을 유지할 수 있습니다.

예제 코드

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();
  
    @Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")
    void insertUser(User user);
  
    @Update("UPDATE users SET email = #{email} WHERE id = #{id}")
    void updateUser(User user);
  
    @Delete("DELETE FROM users WHERE id = #{id}")
    void deleteUser(int id);
}

참고 자료