【Java】ローカルDBとの接続(IntelliJ+SpringBoot)


IJ+SpringBootでDBとの接続

  • 毎回Spring Boot起動して確認するのは手間なので、ローカルにH2のdummyDBを作成してテストする

DataBaseタブ>Data Source>H2選択

Data Sources and Drivers

  • DB名をdummy、Connection typeをin-memory
  • Test Connectionで接続確認(緑のチェックが入る)
  • これで壁打ち用のDBが作れた!

H2コンソール上で実行されるスキーマを書き実行


create table if not exists employee (
  employee_id bigint primary key,
  employee_name varchar(50),
  age int
);

実行するとtabelができる

  • 該当するものがData Base Viewにある場合、フィールド名があっているか確認してくれる
  • コンソール上で実行文選択(SQLが複数ある場合、IntelliJは選択できる)

INSERT INTO employee(employee_id,employee_name,age)
VALUES(1,'Harry Potter',11);
INSERT INTO employee(employee_id,employee_name,age)
VALUES(2,'Hermione Granger',11);
INSERT INTO employee(employee_id,employee_name,age)
VALUES(3,'Ron Weasley',12);
INSERT INTO employee(employee_id,employee_name,age)
VALUES(4,'Albus Dumbledore',110);
-- 削除する時
-- DELETE FROM  EMPLOYEE
-- WHERE    employee_id = 1

DBができているか確認

  • DataBaseタブで作成したテーブルクリック、データがインサートできているか確認
  • 文法上問題がないことをローカルで確認できた!

data.sql作成

  • sql文をdata.sqlにもコピーして作成
  • application.ymlにクラスパスdata: classpath:data.sql を追加
application.yml
spring:
  datasource:
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    username: sa
    password:
    driver-class-name: org.h2.Driver
    schema: classpath:schema.sql
    data: classpath:data.sql

  h2:
    console:
      enabled: true

h2コンソールでも確認できる!