본문 바로가기
IT/Java

Mybatis 3.0 이상 적용하기

by 성준하이 2022. 9. 2.
반응형

기존에 Mybatis를 사용하기 위해서는 SqlSessionTemplete를 사용해서 코드를 짰어야했다.

 

하지만 Mybatis 3.0 이후로는 @Mapper annotation을 활용하여 더 간편하고 쉽게 가능해졌다.

 

기존 mybatis의 설정에 관해서는 아래 참고포스팅을 활용하는것을 추천한다.

(물론 참고 포스팅에서 기존 Mybatis spring 을 따라하는것이고 해당 포스팅에 작성된게 mybatis가 3.0 이하라는 뜻은 아니다.)

 

이제 해당 포스팅에서는 xml방식이 아닌 Mapper annotation을 소개하려고 한다.

 

결국은 repository의 차이 인데 그리하여 기존 코드를 동일하게 작성해줘야하는 부분이 몇군데 있다.

 

일단 먼저 pom.xml 에는 다음을 추가해주었다.

<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-core</artifactId>
<version>3.0</version>
</dependency>

 

다음은 properties 파일은 기존과 동일 하게 작성을 해준다.

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db명?useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Seoul&useLegacyDatetimeCode=false

spring.datasource.username=root
spring.datasource.password=passwd

다음 컨트롤러 역시 동일하게 작성 해준다.

@RestController
@RequiredArgsConstructor
public class Controller {

    private final ServiceClass serviceClass;
    @GetMapping("/a")
    public String getId() {
        String id = serviceClass.getBookId();
        return id;
    }
}

 

다음은 이제 서비스에서 호출을 해준다.

@Service
@RequiredArgsConstructor
public class ServiceClass {

    private final MapperDao dao;
    public String getBookId() {
        String id = dao.getBookId("1");
        return id;
    }

}

 

다음은 마지막으로 repository 부분이다.

여기서는 DAO라고 할수도 있고 이 글에서는 MapperDao 라는 이름으로 했다.

@Mapper
public interface MapperDao {


    @Select("select price from book where book_id=#{id}")
    String getBookId(String id);
}

이렇게 repository 부분에서 Mapper 를 설정해주면 된다.


참고 포스팅

https://thenicesj.tistory.com/41

 

spring 예제 part.1

자바의 꽃이라고 할수 있는 스프링에 대해서 알아보고 간단한 예제를 하나 배워보도록 하자. spring 자바 프로그래밍을 할때 사용되는 프레임워크 중 하나로 현재는 가장 많이 사용되는 프레임워

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

Spring Bean 등록(@Bean은 @Configuration 내에)  (75) 2022.09.05
javadoc 관련  (33) 2022.09.03
spring Batch  (40) 2022.08.25
스프링 웹플럭스(webflux)  (43) 2022.08.24
Optional 이란?  (51) 2022.08.23

댓글