Java&Web

[MyBatis] Springboot에 MyBatis-Spring 설정하기(2)

프로그래민 2021. 1. 4. 12:29
반응형

[MyBatis] Springboot에 MyBatis-Spring 설정하기(1)

 

[MyBatis] Springboot에 MyBatis-Spring 설정하기(1)

[MyBatis] MyBatis [MyBatis] MyBatis MyBatis란? MyBatis는 객체 지향 언어인 Java의 관계형 데이터베이스 프로그래밍을 좀더 쉽게 도와주는 퍼시스턴스 프레임워크(Persistence Framework, 데이터를 다루는 클래..

minkwon4.tistory.com

 

지난 포스팅에서 MyBatis-Spring에 대해 알아보고, application.properties만을 이용하여 Springboot환경에 MyBatis-Spring을 적용하는 실습을 해보았다. 이번 포스팅에서는 application.properties와 DatabaseConfig.java를 이용하여 MyBatis-Spring을 적용하는 실습을 해보았다.

 

MyBatis-Spring 실습(2)

pom.xml에 dependency 추가

MySQL connector와 MyBatis-Spring

개발 환경을 조성해주기위해 위와 같은 dependency를 추가해주었다. MySQL을 사용하기에 MySQL connector를 추가 시켜주었고 MyBatis-Spring을 추가 시켜 MyBatis 프레임워크 환경을 구성해주었다.

application.properties 설정

application.properties

앞서 했던 실습(1)과 다른점은 MyBatis에 대한 설정은 DatabaseConfig.java파일로 잡기때문에 application.properties에서는 JDBC관련 설정만 기입한다는 점이다. 또한, DatabaseConfig.java에서 Hikrai CP 관련 설정을 할때 application.properties에 설정을 가져오기때문에 편한게 가져올 수 있도록 JDBC관련 설정에 hikari를 prefix로 기입해주었다.

DatabaseConfig.java 작성

DatabaseConfig.java

위와 같은 DatabaseConfig.java를 작성하였다. 우선 아래 두개의 메소드 부터 본다면 application.properties에 존재하는 Hikari관련 config를 이용하여 Datasource를 만드는 메소드들이다. 그 후 생성된 Datasource를 이용하여 위의 두개의 메소드에서 MyBatis의 SqlSession을 생성할 수 있도록 도와준다.

또한 @Mapper로 등록되어있는 mapper interface들을 인식할 수 있도록 MapperScan 어노테이션과 그 interface들의 위치를 클래스 상단에 등록해주었다.

Mapper XML 및 DAO 작성

testMapper.xml

test할 SQL을 작성해놓은 testMapper.xml을 생성하였다. 여기서 주의할점은 mapper태그에 있는 namespace에 해당 mapper파일이 구현이될 DAO 클래스에 맞게 주어져야한다. 또한 작성한 쿼리문의 id값을 잘 기억하고 있어야한다.

TestDao.java

그 후 DAO를 작성해주었다. 앞선 실습(1)과 같이 interface형태를 가지고, 정의할 메소드 네임과 작성한 XML형식의 mapper의 쿼리문 id값을 통일 시켜주는 것을 주의해야한다.

출력확인

MySQL의 test테이블 데이터
출력 확인을 위한 RestController

앞서 정의한 testDao의 selectContent 메소드를 출력해보기 위해 테이블에 값을 넣고 Test용 Controller를 구성해주었다. 그 후 서버를 실행시킨 후 값을 원하는 값을 확인할 수 있었다.

출력결과

 

출처
taetaetae.github.io/2019/04/21/spring-boot-mybatis-mysql-xml/
반응형