[spring-batch] h2 연결 및 설정
1. h2 설치
[SpringBoot] H2 데이터베이스 설치 및 실행
이번 포스팅에서는 MacOS에서 H2 데이터베이스를 설치하고, H2 데이터베이스에서 에러 없이 실행하는 방법에 대해 알아보겠습니다! 🧐 H2 데이터베이스는 brew를 통해 쉽게 설치할 수 있습니다. (설
inma.tistory.com
https://so-easy-coding.tistory.com/5?category=968591
[Spring Boot] H2 Database 설치 (Mac, Linux)
Spring Boot로 간단한 CRUD를 만들어보려고 하다가 H2라는 데이터베이스를 알게되었다. H2는 경량 DB이다. mySQL보다 훨씬 간단하기 때문에 학습할 때 매우 적절하므로 애용할 예정이다. 설치도 매우 쉽
so-easy-coding.tistory.com
2. spring-batch 에 필요한 테이블들
- spring-batch-core/org.springframework/batch/core/* 에 위치
- 스크립트 실행 설정은 application.properties의 spring.batch.initialize-schema 로 구분
- ALWAYS : 항상 실행
- EMBEDDED : 내장 DB일 때만 실행 (기본 값)
- NEVER : 항상 실행 안 함
3. springboot 와 h2 연결
spring:
datasource:
hikari:
jdbc-url: jdbc:h2:tcp://localhost/~/spring-batch-test
username: sa
password:
driver-class-name: org.h2.Driver
batch:
job:
enabled: false #구동 시 자동실행 안함
jdbc:
#ALWAYS : 항상 실행
#EMBEDDED : 내장 DB일 때만 실행
#NEVER : 항상 실행 안함
initialize-schema: embedded
참고) h2는 다양한 모드를 제공
https://www.h2database.com/html/features.html
Features
Features Feature List H2 in Use Connection Modes Database URL Overview Connecting to an Embedded (Local) Database In-Memory Databases Database Files Encryption Database File Locking Opening a Database Only if it Already Exists Closing a Database Ignore
www.h2database.com
- 엠비디드 연결 : jdbc:h2:[file:][<path>][databaseName]
- 인 메모리 : jdbc:h2:mem:<databaseName>
- 서버 모드 : jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
intellij 안의 database로 테이블을 보는게 더 편할 것 같아서 설정했는데 connection이 성공하는 듯 하다가 아래와 같이 실패하는 현상이 있다.
https://youtrack.jetbrains.com/issue/DBE-15020
H2 2.1.210 not supported in Database tool : DBE-15020
What steps will reproduce the issue? 1. Add H2 v. 2.1.210 as jdbc Driver 2. Open the H2 Database What is the expected result? Databases and Tables are showed What happens instead? 2022-02-08 11:45:18,643 [90050563] WARN - lij.database.util.ErrorHandler - T
youtrack.jetbrains.com
뭔가 intelij 버그 같아서 기다려야 할 것 같다.