[Mybatis] 스칼라 쿼리(Scalar Queries) 예제

스칼라 쿼리(Scalar Queries)는 단일 값(스칼라 값)을 반환하는 쿼리입니다. 스칼라 쿼리를 실행하고 해당 결과를 단일 값으로 추출하는 방법은 다양합니다. MyBatis를 사용하여 스칼라 쿼리를 실행하는 예제를 제공합니다.

예제: 스칼라 쿼리 실행

  1. 매퍼 인터페이스 작성: 스칼라 쿼리를 실행할 매퍼 인터페이스를 작성합니다.
public interface UserMapper {
    String getUserNameById(Long userId);
}` 
  1. 매퍼 XML 파일 작성: 스칼라 쿼리를 정의하는 매퍼 XML 파일을 작성합니다.
<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
    <select id="getUserNameById" resultType="string">
        SELECT user_name
        FROM users
        WHERE user_id = #{userId}
    </select>
</mapper>` 
  1. 매퍼 메서드 호출: 애플리케이션 코드에서 매퍼 메서드를 호출하여 스칼라 쿼리를 실행하고 결과를 추출합니다.
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);
            
            Long userId = 1L;
            String userName = userMapper.getUserNameById(userId);
            
            System.out.println("User Name: " + userName);
        }
    }
}` 

위의 예제에서는 getUserNameById 메서드를 사용하여 사용자 ID를 기반으로 해당 사용자의 이름을 검색하고 반환합니다. 반환된 값은 단일 값(스칼라 값)인 사용자 이름입니다.

스칼라 쿼리를 실행하는 것은 데이터베이스로부터 단일 값 또는 결과를 추출할 때 유용합니다. MyBatis를 사용하면 이러한 작업을 간단하게 수행할 수 있습니다.