[Mybatis] 스칼라 쿼리(Scalar Queries) 예제
스칼라 쿼리(Scalar Queries)는 단일 값(스칼라 값)을 반환하는 쿼리입니다. 스칼라 쿼리를 실행하고 해당 결과를 단일 값으로 추출하는 방법은 다양합니다. MyBatis를 사용하여 스칼라 쿼리를 실행하는 예제를 제공합니다.
예제: 스칼라 쿼리 실행
- 매퍼 인터페이스 작성: 스칼라 쿼리를 실행할 매퍼 인터페이스를 작성합니다.
public interface UserMapper {
String getUserNameById(Long userId);
}`
- 매퍼 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>`
- 매퍼 메서드 호출: 애플리케이션 코드에서 매퍼 메서드를 호출하여 스칼라 쿼리를 실행하고 결과를 추출합니다.
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를 사용하면 이러한 작업을 간단하게 수행할 수 있습니다.