[Mybatis] 자동 문자열 변환(Auto-mapping JdbcType) 예제
MyBatis에서 자동 문자열 변환(Auto-mapping JdbcType)을 사용하면 데이터베이스에서 정수 형태로 저장된 값을 자동으로 Java의 String
으로 매핑할 수 있습니다. 이를 위해 mybatis-config.xml
또는 SqlSessionFactory
설정에서 autoMappingBehavior
를 활성화해야 합니다. 아래는 자동 문자열 변환 예제입니다.
예제: 자동 문자열 변환 활성화
mybatis-config.xml
설정:
MyBatis 설정 파일인 mybatis-config.xml
에서 autoMappingBehavior
를 활성화합니다.
<!-- mybatis-config.xml -->
<configuration>
<!-- 다른 설정 ... -->
<!-- 자동 문자열 변환 활성화 -->
<settings>
<setting name="autoMappingBehavior" value="FULL"/>
</settings>
</configuration>`
- 매퍼 인터페이스 작성:
매퍼 인터페이스에는 자동 문자열 변환을 사용할 메서드를 작성합니다.
public interface UserMapper {
String getUsernameById(@Param("userId") int userId);
}`
- 매퍼 XML 파일 작성:
<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
<select id="getUsernameById" resultType="java.lang.String">
SELECT username FROM users WHERE user_id = #{userId}
</select>
</mapper>`
- 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);
// 정수 형태로 저장된 값을 자동으로 문자열로 변환하여 조회
String username = userMapper.getUsernameById(1);
System.out.println("Username: " + username);
}
}
}`
위의 예제에서는 autoMappingBehavior
를 FULL
로 설정하여 자동 문자열 변환을 활성화하고, String
타입의 결과를 받아오도록 설정했습니다. 이제 정수 형태로 저장된 값을 자동으로 문자열로 변환하여 조회할 수 있습니다.
자동 문자열 변환은 데이터베이스에서 숫자 형식으로 저장된 값을 문자열로 사용해야 할 때 유용합니다.