본문 바로가기
코드프레소 체험단/Spring Boot를 활용합 웹 개발

[Spring Boot 웹 개발 초급] MyBatis 활용 준비

by 의정부핵꿀밤 2022. 6. 26.
728x90

< MyBatis 활용 준비 1 - Maven 의존성 설정 >

 

Spring Boot에서 MyBatis 설정

  • Maven 의존성 설정
    • MyBatis 및 H2 Database
  • 스프링 애플리케이션 설정
    • application.properties 설정

 

 

 

Maven

  • Java 프로젝트에서 사용되는 빌드 자동화 도구
    • 소스코드를 실행 가능한 SW 산출물로 만드는 과정
  • Maven의 2가지 주요 기능
    • 프로젝트 구성 및 빌드 관리
    • 라이브러리 의존성 관리

 

 

 

Maven의 라이브러리 의존성 관리

  • 사용할 외부 라이브러리 정보를 명시하면 자동 다운로드 후 사용
    • 개발자가 필요한 라이브러리를 일일이 다운로드 받아 설정할 필요 없음
    • pom.xml 파일의 dependencies 영역에 사용할 라이브러리 정보 설정
  • 사용할 라이브러리가 Maven Repository에 등록 되어 있어야 한다
    • Maven Cetral Repository : Maven에서 관리하는 중앙 Repository

 

 

 

Maven pom.xml

  • pom - Project Object Model
  • Maven이 프로젝트를 빌드하기 위해서 필요한 정보를 기술하는 XML 파일
    • 프로젝트의 정보
    • 프로젝트가 필요로 하는 라이브러리 의존성 정보
    • 빌드 단계에서 사용되는 정보

 

 

 

최소한의 pom.xml

  • project 태그로 시작
  • groupId : 다양한 프로젝트 간의 식별 가능한 고유한 이름 (보통 회사 url의 역순)
  • artifactId : 프로젝트 하위의 애플리케이션 이름, 빌드 후 생성되는 산출물 파일 명
  • version : 현재 개발중인 application의 버전
  • dependencies 태그 하위에 다수 dependency로 라이브러리를 명시한다
  • dependency 태그에 groupId, artifactId, version 등을 명시한다

 

 

 

Maven 의존성 검색

  • https://mavenrepositroy.com/

 

 

MyBatis 사용을 위한 Maven 의존성 설정

  • MyBatis와 H2 Database 사용을 위한 Maven 의존성 추가

 


< MyBatis 활용 준비 2 - 스프링 설정과 H2 DB 활용 >

 

H2 Database

  • 경량 RDBMS
    • 메모리에 데이터 저장 가능
  • 별도의 설치 없이 Maven 의존성만으로 Spring Boot에서 활용 가능
  • 개발 단계에서 테스트 용으로 가볍게 활용 가능

 

 

 

Spring 애플리케이션 설정

  • Spring 애플리케이션이 어떻게 구성되어야 하는지에 대한 부가적인 정보
    • Spring 애플리케이션이 시작하는 시점에 읽는다
  • application.properties 파일에 설정 정보를 추가한다
    • application.yam 포맷을 사용하기도 한다
  • resources 디렉토리 하위에 위치한다
    • key=value 형태로 설정 정보를 작성한다
  • 설정 정보는 라이브러리 별 공식 문서를 참고하여 작성하면 된다

 

 

 

Spring 애플리케이션 설정 예시

sever.port=8081
  • port 정보를 변경하려면 위와 같이 작성하면 된다
  • 기본 포트는 8080으로 위의 설정을 통해 8081로 변경된다
  • 이 외에도 매우 다양한 Spring 설정이 존재한다
  • Logging, Database 연결, 보안, 테스팅 등 설정이 가능하다
  • 필요한 설정들은 레퍼런스 문서 참고가 필요하다

 

 

 

H2 Database 설정

h2 database의 접속 url 및 계정 정보 설정

  • spring.datasource.driver-class-name=org.h2.Driver
    • DB 연결을 위해 org.h2.Driver를 사용
    • com.mysql.cj.jdbc.Driver, oracle.jdbc.driver.OracleDriver 등 가능
  • spring.datasource.url=jdbc:h2:mem:todo
    • DB 접속 URL, [protocol]:[host][port, db/schema 명 등]
    • jdbc:postgresql://localhost:5432/todo
    • jdbc:mysql://localhost:3306/todo
  • spring.datasource.username=codepresso
    • DB에 접속하기 위한 사용자 이름
  • spring.datasource.password=asdf1234
    • DB에 접속하기 위한 패스워드

 

h2 웹 console 정보 설정

  • spring.h2.console.enabled=true
    • h2 웹 콘솔을 사용함
  • spirng.h2.console.path=/h2-console
    • 웹 콘솔의 uri path는 /h2-console로 함

 

 

 

H2 Database 활용

  • browser에서 아래 url을 접속하면 위와 같은 화면이 나타난다 (설정 정보 기반 url)
  • http://localhost:8080/h2-console

 

  • 앞에서 설정한 정보를 토대로 로그인을 하면 위와 같은 웹 기반 콘솔을 제공한다

 

 

DB Table 및 데이터의 초기화

schema.sql 파일 위치
테이블 생성

  • Spring 프로젝트의 resources 디렉토리 하위에 schema.sql 파일 생성 후 SQL을 작성하면 동작한다

 

H2 DB에 테이블이 생성됨

  • Spring 애플리케이션을 재시작한 후 H2 DB 콘솔을 확인하면 위와 같이 schema.sql의 SQL 문이 자동으로 실행되어 테이블이 생성된 것을 볼 수 있다

 

data.sql 파일 위치
데이터의 초기화

  • Spring 프로젝트의 resources 디렉토리 하위에 data.sql 파일 생성 후 SQL을 작성한다

 

H2 DB에 데이터 생성됨

  • Spring Boot 애플리케이션 재시작 후 H2 DB 콘솔에서 확인해보면, data.sql의 SQL문이 동작한 것을 확인할 수 있다

 


< MyBatis 활용 준비 3 - MyBatis 설정 >

 

MyBatis 설정

application.properties에 mybatis 설정 파일 위치 명시

  • application.properties에 설정을 추가한다
  • mybatis의 설정 파일의 위치를 설정한다

 

실제 mybatis 설정 파일 위치

  • resources 디렉토리 하위 mybatis 디렉토리를 생성한다
  • resources/mybatis 디렉토리 하위에 파일을 생성한다
  • mybatis-config.xml

 

실제 mybatis 설정 파일 내용

  • mybatis-config.xml 파일에 위 코드를 작성한다

 

todo-mapper.xml 파일 내용

  • todo-mapper.xml 파일에 위 코드를 작성한다

 

 

 

설정 파일 정리

  • application.properties
    • Spring Framework가 읽고 해석하여 명시된 설정에 대한 작업을 수행
    • MyBatis를 위한 설정 파일의 위치를 명시
  • mybatis-config.xml
  • todo-mapper.xml
    • todo 테이블에 대한 SQL문이 작성된 파일
    • 보통 테이블 당 하나씩 작성한다
    • mapper.xml 파일은 여러 개가 존재할 수 있다

 

728x90

댓글