티스토리 뷰

이번글에는 Spring과 Mybatis 연동에 대해 정리해보고자 한다.

mybatis 연동은 xml로도 할수있고 java로도 설정할 수 있지만 이번 블로그에서는 java 설정으로 진행한다.



1. mybatis를 사용하기 위해 pom.xml에 mybatis 의존성을 등록하자.

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>

 

2. mybatis 설정파일 생성한다.

위사진의 코드에 대해 간략히 설명해보자면

 

Line 25

mybatis를 사용하게되면 SQL구문을 java파일이 아닌 별도의 XML파일을 만들어 거기다가 작성하게 되는데

그 XML파일의 경로를 읽어드릴 수 있게 경로를 설정한다. 

 

Line 28

mybatis에서 select 쿼리를 사용할 때 resultType을 적어줘야하는데 예를들어 Board라는 모델객체의 패키지경로가 com.kjh.study.model.Board일 때 resultType="com.kjh.study.model.Board" 라고 작성을 해야하는데 

이렇게 클래스의 풀경로를 적는 수고를 덜어주기 위해 alias를 명시해준다. 위와 같이 설정을 등록하게되면

resultType="Board"라고 적어주면 된다.

 

모델객체의 패키지가 com.kjh.study.model 외에 다른패키지에도 적용을 하고싶다면

com.kjh.*.model로 하면된다.

 

Line 34

해당 메서드의 이름만 추측해보면 알수있다시피 카멜케이스를 설정하는것이다.

DB에서 조회된 컬럼이름들이 스네이크 표기법으로 되있다면 모델객체의 프로퍼티도 해당 컬럼이름과 똑같이 작성을

해야 값들이 매핑되는데 카멜케이스 설정을 true로 설정을 하게되면 모댈객체의 프로퍼티명을 카멜케이스로 작성시 설정파일에 의해 값이 매핑된다.

 

3. mapper.xml 파일생성하기

2번의 사진에서 mapper.xml파일의 경로를 com/kjh/study/mapper/*Mapper.xml로 설정을 해놨으니

이 경로대로 디렉토리를 생성해서 xml파일을 생성한다.

 

 

4. DB TABLE 및 JAVA 모델객체 생성하기

java의 모델객체와 매핑하기 위한 테이블을 생성하였다. 카멜케이스 적용이 되는지 확인하기위해

테이블 컬럼을 스네이크 표기법으로 작성, 모델객체의 프로퍼티는 카멜케이스로 작성하였다.

 

 

5. mapper에서 SQL조회 및 XML파일에 SQL 작성

@Mapper 어노테이션은 XML 파일에 적힌 SQL을 호출하기 위한 어노테이션이다.

그리고 Mapper 인터페이스의 메소드명과 XML파일의 태그 ID와 일치해야 한다.

 

이제 준비는 다 끝났다. Test를 해보자

 

 

테스트가 정상적으로 완료되었다.

 

너무좋다. 

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함