実現したいこと:h2dbのアクセス(どこのクラスからどういったコードを書いてinsertするのか)
試したこと;サイトの情報をもとにpom.xml,application.propertiesへの追記
(サイトにはDBとテーブルの準備と記載されているがどこのファイルに記載するのかわからない)
pom.xmlに追加したこと
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
application.propertiesに追加したこと
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:./h2db/sampledb
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.tomcat.maxActive=10
spring.datasource.tomcat.maxIdle=10
spring.datasource.tomcat.minIdle=10
spring.datasource.tomcat.initialSize=10
spring.datasource.tomcat.defaultAutoCommit=false
・わからない点
DBやテーブルの準備
h2dbはインメモリのDBですが、組み込みDBではデータは永続化することができます。
ということは、起動する毎に毎回初期化されてしまうと困ります。
h2dbは接続文字列で指定したdbが存在しない場合は自動で作成する
存在する場合は新規作成(初期化)しない
CREATE TABLE IF NOT EXISTSで初期化SQLを定義する
テーブルが存在する場合は再作成されない
jdbc:h2:./h2db/sampledbは実行時のカレントディレクトリから相対で見たパス(./h2db/sampledb)にDBファイルを格納する意味である
相対パス指定は./が重要
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/24 03:35