Hello World?

Spring Boot 배치프로그램 개발 4 (MySQL + logback) 본문

JAVA WEB/SPRING

Spring Boot 배치프로그램 개발 4 (MySQL + logback)

쮠이 2018. 7. 2. 23:01

배치를 개발하였으니, 이제 MyBatis를 붙여서 DB 작업을 붙여보도록 하자

Spring에서 지원하는 MyBatis Annotaion과 MySQL을 사용하여 DB를 붙여 보도록 하자

 

우선 접속할 DB는 로컬에 설치한 MySQL이다.

아래와 같이 테이블을 생성한다

 

 

우선 TEST 테이블을 만들었다. 인덱스 없이 단순 테스트만 사용하기 위해,  만들었다.

 

로컬 데이터베이스에 접속하기 위한 정보를 입력하기 위해 DB정보를 매핑한다

Resource 아래에 application.properties 에 아래와 같이 입력하고, 개인 DB정보를 입력한다

 

 

 

이제 DB를 처리하기위한 MyBatis Configuration 설정 파일과 설정 클래스를 만들어 보자

해당 클래스는 Database를 접속하기 위한 DataSource를 생성하고,

Transaction처리를 위한 Transaction Manager 클래스를 생성한다

 

 

 

위의 소스는 어려운 부분이 없다. @Configuration 애노테이션은 bean를 생성하기 위한 클래스임을 선언한다

@Bean 애노테이션은 말 그대로 빈즈를 생성하는 클래스이다

기존 스프링에서 XML Configuration을 자바로 표현하였다

 

이제 MyBatis Configuration 파일과 Mapper 파일을 만들것이다

Configuration은 Resource 패키지 아래에서 mapper 를 생성하고, mapper 아래에 config 패키지를 생성하고

mybatis-config.xml  파일을 생성하고 아래 내용을 복사하도록 하자

 

 

 

mapper 패키지에 쿼리를 사용하기 위한 매퍼파일을 생성한다

 

 

 

DB연결과 DB커넥션을 생성하였으니 DAO 와 데이터 처리를 위한 오브젝트 VO 를 만들어 보자

기본 패키지에서 dao 패키지와 vo 패키지를 생성하도록 하고 아래 자바 파일을 생성하자

 

dao 파일은 위의 매퍼에서 지정한 매퍼의 네임스페이스 위치와 동일해야 하므로 항상 유의 해야 한다

 

 

vo 파일은 모든 매퍼에서 사용하기 위해 mybatis configuration 파일에서 alias를 선언하였다

내용을 확인하고 위치를 정의 해주어야 한다

 

 

 

위와 같이 소스를 모두 입력하고 나면 DB관련 파일은 모두 입력하였다

앞 강의에서 보여주었던 스케쥴 테스크 프로그램을 다시 확인해보자

 

 

위에서 작성한 TestDao를 @Autowired 애노테이션으로 선언해 주었고

reportCurrentTime 메소드에서 testDao.getTestInfo(vo); 메소드를 호출하도록 하였다.

이제 5초마다 getTestInfo 에 호출된 쿼리를 호출하게 될 것이다

 

이제 결과를 확인해 보도록 하자