본문 바로가기

Development/MyBatis

Inner Class를 ResultMap으로 등록할 때

728x90
이렇게 Inner Class가 선언되어 있다고 가정했을 때,


 위의 코드처럼 선언한 Inner 클래스를 Java에서 사용할 때는 아래와 같이 하면 된다.



그렇다고 해서 MyBatis 설정 파일에서 UserId를 ResultMap으로 등록할 때도 같은 방법으로 하면 안 된다.



위와 같이 설정한다면 ClassNotFoundException이 발생할 것이다. 그렇다면 어떻게 해야 하는가?
바로 아래와 같이 설정하면 된다.



단순히 닷 연산자를 $으로 바꿔서 사용하면 된다.

내 생각엔 MyBatis의 설정 파일로 설정한 클래스들은 ClassLoader에 의해서 파일을 찾은 뒤에 클래스로 변환하는 방법이기 때문에 UserBean을 Package로 인식하여 클래스를 찾지 못하는 게 아닌가 싶다.

이래나 저래나 결론은 $을 이용하여 설정하면 된다.
반응형

'Development > MyBatis' 카테고리의 다른 글

[iBatis] isEmpty 태그 사용법  (0) 2017.04.02
[iBatis] isNotEqual 사용법  (0) 2014.03.18
[iBatis] isNotEmpty 태그 사용법  (0) 2014.03.09