[Mybatis] 자동 매개변수 매핑(Auto-mapping Parameters) 예제

MyBatis에서는 자동 매개변수 매핑을 사용하여 메서드의 매개변수를 SQL 쿼리에 자동으로 매핑할 수 있습니다. 이를 통해 메서드의 매개변수와 SQL 쿼리의 파라미터를 일치시키지 않아도 됩니다. 아래는 자동 매개변수 매핑 예제입니다.

예제: 자동 매개변수 매핑

  1. 매퍼 인터페이스 작성:

매퍼 인터페이스에는 메서드와 매개변수를 작성합니다.

public interface UserMapper {
    List<User> getUsersByUsernameAndEmail(String username, String email);
}` 
  1. 매퍼 XML 파일 작성:
<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
    <select id="getUsersByUsernameAndEmail" resultType="User">
        SELECT * FROM users
        WHERE username = #{param1}
        AND email = #{param2}
    </select>
</mapper>` 
  1. Java 코드에서 호출:
public class Main {

    public static void main(String[] args) {
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        try (SqlSession sqlSession = sessionFactory.openSession()) {
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            
            // 메서드의 매개변수를 SQL 쿼리에 자동으로 매핑
            List<User> users = userMapper.getUsersByUsernameAndEmail("example", "example@example.com");
            
            System.out.println("Users: " + users);
        }
    }
}` 

위의 예제에서는 #{param1}#{param2}를 사용하여 메서드의 매개변수를 자동으로 SQL 쿼리에 매핑합니다. getUsersByUsernameAndEmail 메서드의 두 매개변수가 SQL 쿼리에 자동으로 매핑되어 사용됩니다.

자동 매개변수 매핑을 사용하면 메서드의 매개변수를 SQL 쿼리에 일일히 명시하지 않아도 되므로 코드가 간결해집니다.