SpringBoot2で制作の練習をしています。
組み込みのデータベースH2を使用してるのですが
アプリのほうから参照できるのにコンソールから参照しようとすると
そもそもデータベースすら現れてきません。
設定は以下の通りです。
properties
spring.datasource.tomcat.driver-class-name=org.h2.Driver
spring.datasource.tomcat.url=jdbc:h2~/test
spring.datasource.tomcat.username=sa
spring.datasource.tomcat.password=
spring.h2.console.enabled=true
上記設定に間違いがあり設定が反映されませんでした。
以下が正式な書き方になりいます。
ついでにymlに変更します。
yml
1spring: 2 datasource: 3 url: jdbc:h2:mem:test 4 driverClassName: org.h2.Driver 5 username: sa 6 password: 7 h2.console.enabled: true
consoleをfalseに変えるとコンソールに入れなくなるので
ファイルそのものは反映されているらしい。
schema.sqlとdata.sqlを用意してます。
sql
1CREATE TABLE inquiry 2( 3 id INT NOT NULL AUTO_INCREMENT, 4 name VARCHAR(100) NOT NULL, 5 email VARCHAR(100) NOT NULL, 6 contents VARCHAR(500) NOT NULL, 7 created DATETIME NOT NULL, 8 PRIMARY KEY(id) 9);
sql
1INSERT INTO inquiry(name, email, contents, created) 2VALUES('Suzuki', 'sample@sample.com', 'Hello', '2018-11-12 08:34:19'); 3INSERT INTO inquiry(name, email, contents, created) 4VALUES('Sato', 'sample2@sample2.com', 'GoodMorning', '2018-12-18 15:10:52'); 5INSERT INTO inquiry(name, email, contents, created) 6VALUES('Tanaka', 'sample3@sample3.com', 'GoodEvening', '2018-12-18 15:10:52'); 7
以上の状態でアプリを動作させてみると3件表示されるのですが
まず、ユーザフォルダ直下にはtestという名のファイルができていません。
また、コンソールからjdbc:h2~/testにアクセスしてもデータベースがありません(null)
さらにアプリの再起動により追加でインサートしたデータはなくなるため(初期の三件に戻る)
インメモリが使われているものと考えられます。
書籍やさまざまな記事をあたりましたが解決しません。
どなたか問題箇所を指摘していただくことはできますでしょうか。
回答1件
あなたの回答
tips
プレビュー