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 설정
- 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에 접속하기 위한 패스워드
- 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 및 데이터의 초기화
- Spring 프로젝트의 resources 디렉토리 하위에 schema.sql 파일 생성 후 SQL을 작성하면 동작한다
- Spring 애플리케이션을 재시작한 후 H2 DB 콘솔을 확인하면 위와 같이 schema.sql의 SQL 문이 자동으로 실행되어 테이블이 생성된 것을 볼 수 있다
- Spring 프로젝트의 resources 디렉토리 하위에 data.sql 파일 생성 후 SQL을 작성한다
- Spring Boot 애플리케이션 재시작 후 H2 DB 콘솔에서 확인해보면, data.sql의 SQL문이 동작한 것을 확인할 수 있다
< MyBatis 활용 준비 3 - MyBatis 설정 >
MyBatis 설정
- application.properties에 설정을 추가한다
- mybatis의 설정 파일의 위치를 설정한다
- resources 디렉토리 하위 mybatis 디렉토리를 생성한다
- resources/mybatis 디렉토리 하위에 파일을 생성한다
- mybatis-config.xml
- mybatis-config.xml 파일에 위 코드를 작성한다
- todo-mapper.xml 파일에 위 코드를 작성한다
설정 파일 정리
- application.properties
- Spring Framework가 읽고 해석하여 명시된 설정에 대한 작업을 수행
- MyBatis를 위한 설정 파일의 위치를 명시
- mybatis-config.xml
- MyBatis Framework가 읽음
- SQL이 작성된 Mapper 파일의 위치 정보를 포함하여 다양한 설정이 가능하다
- https://mybatis.org/mybatis-3/configuration.html
- todo-mapper.xml
- todo 테이블에 대한 SQL문이 작성된 파일
- 보통 테이블 당 하나씩 작성한다
- mapper.xml 파일은 여러 개가 존재할 수 있다
728x90
'코드프레소 체험단 > Spring Boot를 활용합 웹 개발' 카테고리의 다른 글
[Spring Boot 웹 개발 초급] MyBatis를 활용한 API 구현 추가 개념 (0) | 2022.06.26 |
---|---|
[Spring Boot 웹 개발 초급] 커리큘럼 및 Data Access Layer의 개념 (0) | 2022.03.02 |
[Spring Boot 웹 개발 입문] Spring Service, Spring Bean의 개념과 의존성 주입 (0) | 2022.02.06 |
[Spring Boot 웹 개발 입문] HTTP 메소드와 Request Body, REST API 문서 (0) | 2022.02.03 |
[Spring Boot 웹 개발 입문] Response 데이터와 JSON 포맷 (0) | 2022.02.03 |
댓글