H2 Database
H2는 자바로 작성된 관계형 데이터베이스 관리 시스템이다.
장점
- 따로 설치가 필요없다
- 용량이 매우 가볍다
- 웹용 콘솔(쿼리툴) 제공하여 개발용 로컬DB로 사용 용이
특징
- JAVA로 작성된 오픈소스 RDBMS
- 스프링 부트가 지원하는 인메모리 관계형 데이터베이스
- 인메모리로 띄우면 애플리케이션 재기동 때마다 초기화
- 로컬 환경, 테스트 환경에서 많이 쓰임
MyBatis
- MyBatis는 객체 지향 언어인 Java의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 도와주는 퍼시스턴스 프레임워크(Persistence Framework, 데이터를 다루는 클래스 및 설정파일 집합)
- MyBatis는 JDBC를 통해 RDBMS에 액세스하는 작업을 캡슐화하고 기존 JDBC의 중복작업을 간소화
- XML 파일의 형태인 mapper를 통해 프로그램 코드로부터 SQL 쿼리를 분리되는 환경을 제공하고 Java 객체와 매핑하는 작업을 도와준다.
특징
- 기존 JDBC보다 사용하기 편리
- 다른 ORM(Object Relational Mapping) 프레임워크에 비해 추가적인 학습의 부담이 적음
- 복잡한 쿼리 또는 다이나믹한 쿼리를 지원
- 프로그램 코드와 SQL 쿼리의 분리로 인한 간결성 및 유지보수성 향상
- 빠른 개발과 생산성의 향상
application.properties
-
resources 디렉터리 밑에 있게 되는 application.properties 나 application.yaml 파일은 스프링 부트가 자동으로 로딩하게 되는 규약들이다.
-
이러한 프로퍼티들을 사용하는 방법은 여러 가지이며 각 사용마다 우선순위가 다르므로 오버 라이딩될 수도 있다.
-
application.properties와 application.yml를 동시에 사용하지 않도록 주의, 둘 간의 순서 차이가 있는데, application.properties가 항상 나중에 로드되어 YAML에 정의한 profil 설정이 덮어씌여질 수 있기 때문이다.
@RequestMapping
- 우리는 특정 uri로 요청을 보내면 Controller에서 어떠한 방식으로 처리할지 정의를 한다. 이때 들어온 요청을 특정 메서드와 매핑하기 위해 사용하는 것이 @RequestMapping이다.
@RequestParam
@PathVarible