[java] Java MyBatis의 주요 어노테이션

MyBatis는 Java 언어를 위한 ORM(Object-Relational Mapping) 프레임워크로, 데이터베이스와의 상호작용을 쉽게 처리할 수 있도록 도와줍니다. MyBatis를 사용할 때 자주 사용되는 어노테이션들을 살펴보겠습니다.

@Select

@Select 어노테이션은 MyBatis에서 사용할 SQL 쿼리를 지정하는 역할을 합니다. 이 어노테이션을 메서드에 적용하고, value 속성을 사용하여 실행할 SQL 쿼리를 지정할 수 있습니다.

@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);

위의 예제에서는 @Select 어노테이션을 사용하여 getUserById 메서드에 SQL 쿼리를 지정했습니다. id 파라미터는 #{id}로 바인딩되어 쿼리 실행 시 동적으로 값을 설정할 수 있습니다.

@Insert

@Insert 어노테이션은 새로운 레코드를 데이터베이스에 삽입하기 위해 사용됩니다. @Insert 어노테이션의 value 속성에는 실행할 SQL 쿼리를 지정합니다.

@Insert("INSERT INTO users (name, email) VALUES (#{name}, #{email})")
void addUser(User user);

위의 예제에서는 @Insert 어노테이션을 사용하여 addUser 메서드에 SQL 쿼리를 지정했습니다. user 객체의 nameemail 속성은 각각 #{name}#{email}로 바인딩되어 실행될 때 동적으로 값이 설정됩니다.

@Update

@Update 어노테이션은 데이터베이스에서 레코드를 갱신하기 위해 사용됩니다. 업데이트할 쿼리를 @Update 어노테이션의 value 속성에 지정할 수 있습니다.

@Update("UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}")
void updateUser(User user);

위의 예제에서는 @Update 어노테이션을 사용하여 updateUser 메서드에 SQL 쿼리를 지정했습니다. user 객체의 값들은 각각 #{name}, #{email}, #{id}로 바인딩되어 실행될 때 동적으로 값이 설정됩니다.

@Delete

@Delete 어노테이션은 데이터베이스에서 레코드를 삭제하기 위해 사용됩니다. 삭제할 쿼리는 @Delete 어노테이션의 value 속성에 지정합니다.

@Delete("DELETE FROM users WHERE id = #{id}")
void deleteUser(int id);

위의 예제에서는 @Delete 어노테이션을 사용하여 deleteUser 메서드에 SQL 쿼리를 지정했습니다. id 파라미터는 #{id}로 바인딩되어 실행될 때 동적으로 값이 설정됩니다.

정리

위에서 소개한 어노테이션들은 Java MyBatis에서 주로 사용되는 어노테이션입니다. @Select, @Insert, @Update, @Delete 어노테이션들을 적절히 활용하면 간편하고 효율적인 데이터베이스 연동이 가능합니다.

더 자세한 내용은 MyBatis 공식 문서를 참고하시기 바랍니다.