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
객체의 name
과 email
속성은 각각 #{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 공식 문서를 참고하시기 바랍니다.