質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

735閲覧

SpringBoot2でH2のコンソールからデータの参照ができない。

spring_boot

総合スコア12

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2019/01/28 05:58

編集2019/01/29 01:35

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)

さらにアプリの再起動により追加でインサートしたデータはなくなるため(初期の三件に戻る)
インメモリが使われているものと考えられます。

書籍やさまざまな記事をあたりましたが解決しません。
どなたか問題箇所を指摘していただくことはできますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/28 12:34

jdbc urlをコピペミスのようなので、正しいものをはってください。
spring_boot

2019/01/29 01:31

他の方の記事を参考にしたのですがpropertiesの書き方自体の問題のようでした。 デフォルト設定が読みこまれていたようです。 解消できましたので解決方法を記入しておきます。 ありがとうございました。
guest

回答1

0

自己解決

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

上記設定で無事コンソールにもデータが反映されました。

投稿2019/01/29 01:34

spring_boot

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問