개발강의정리/Spring

[스프링 부트 개념과 활용] 4-10. 스프링 데이터 2부: H2(인메모리 데이터베이스)

nineDeveloper 2019. 11. 17.
728x90

스프링 부트 개념과 활용

4. 스프링 부트 활용

포스팅 참조 정보

GitHub

공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다

해당 포스팅에 대한 내용의 GitHub 주소

실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다

https://github.com/freespringlecture/springboot-concept-uses/tree/chap04-10-02-data-h2

 

freespringlecture/springboot-concept-uses

백기선님의 스프링 부트 개념과 활용 강의 내용 정리. Contribute to freespringlecture/springboot-concept-uses development by creating an account on GitHub.

github.com

해당 포스팅 참고 인프런 강의

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

 

스프링 부트 개념과 활용 - 인프런

스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급 프레임워크 및 라이브러리 Spring Spring Boot 온라인 강의

www.inflearn.com

실습 환경

  • Java Version: Java 11
  • SpringBoot Version: 2.1.2.RELEASE

10. 스프링 데이터 2부: 인메모리 데이터베이스

지원하는 인-메모리 데이터베이스

  • H2 (추천, 콘솔 때문에...)
  • HSQL
  • Derby

Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해줌

SpringBoot AutoConfiguration 에서 가장 중요한 아래의 두개의 항목을 자동설정 해줌

  • DataSource
  • JdbcTemplate

Resource 반납 처리가 잘되어 있고 예외를 던질 때 에러 계층 구조를 잘만들어놔서 좀 더 가독성이 높은 에러 메세지를 확인 할 수 있음
기본적인 jdbc API 사용하는 것 보다 훨씬 더 좋음

H2를 사용하는 테스트 코드 작성

jdbc 와 h2 dependency를 추가하고 서버를 구동하면
기본적으로 h2를 사용하는 jdbc 설정이 되고 Application 이 동작함

  • Intellij 에서 생성시 web, jdbc, h2 선택 후 생성

H2 In-memory 조회 방법

Intellij 에서 조회

  1. Database - Data Source - H2 로 생성
  2. URL을 In-memory 로 변경
  3. Database는 testdb

H2 Console 에서 조회

spring-boot-devtools를 추가 하거나
spring.h2.console.enabled=true 만 추가

  1. /h2-console로 접속 (이 path도 바꿀 수 있음)
  2. URL: jdbc:h2:mem:testdb 로 접속
  3. 데이터 조회

인-메모리 데이터베이스 기본 연결 정보 확인하는 방법

SpringBoot jdbc - DataSourceProperties에 기본 정보로 등록되어 있음

  • URL: “testdb”
  • username: “sa”
  • password: “”

실습 코드

jdbc

 CREATE TABLE USER (ID INTEGER NOT NULL, name VARCHAR(255), PRIMARY KEY (id))
 INSERT INTO USER VALUES (1, ‘freelife’)
728x90

댓글

💲 추천 글