본문 바로가기

Java/Spring

Spring Boot에 MyBatis 설정 하기. (2)



스프링 부트에 마이바티스 설정하기.


위 포스팅에서 스프링 부트에 마이바티스를 설정하는 방법을 알아봤다.


하지만 어노테이션에 쿼리를 작성해야한다는 점이 마음에 걸린다.


마이바티스로 작성하게 되는 쿼리가 한두줄로 가능한 쿼리도 아니고, 어노테이션으로 처리하기에는 부담이 크다.


물론, 아래와 같이 변수로 선언해서 사용할 수도 있다.



그리고 XML로 쿼리를 저장하는것도 당연히 가능하다.


먼저 마이바티스 매핑 XML을 저장할 폴더를 아래와 같이 추가한다.


resource/mapper/MemberMapper.xml



여기서 눈여겨봐야할 것은 바로 namespace 값이다.


namespace의 값은, MemberMapper.xml의 쿼리를 호출할 Mapper Class의 경로와 클래스명으로 하도록 해야한다.


이렇게 하면, Mapper Class의 메서드명과 Mapper.xml의 쿼리 id의 값이 동일할 경우 호출 되도록 설정 할 수 있다.



Mapper.xml 파일의 경로는 application.properties에 아래와 같이 설정한다.


mybatis.mapper-locations=/mapper/*.xml


이제 Mapper Class의 메서드는 위에서 설정된 경로의 xml 을 참조하게 되는데,


Class의 Package 및 클래스 명을 연결한 문자열이, XML의 namespace와 동일 하고,


Class의 메서드명과 엘리먼트 id가 동일하면 해당 쿼리를 실행하게 된다.


예제에서는 com.jason.mapper.MemberMapper.findMembers 가 된다.



아래에서 예제를 확인 할 수 있다.


https://github.com/keumhwanmoon/spring-boot-mybatis-config-map-by-xml.git