前提条件
1. 必要インストール
(1) Eclipse 2022
(2) Oracle SQL Developer 21.2.1
(3) Oracle Database 21c Express Edition
(4) Oracle Database JDBC driver
2. プロジェクトの設定内容
(1) Eclipseでプロジェクトを立ち上げる(ファイル > 新規 > Spring スターター・プロジェクト)
今回の記事では環境設定とテストのみなので、新たに追加するのはLombok、Spring DataJDBC、Oracle DriverのみでOK
(3) テーブルを作成する(SQL developerを用いて作成)
sample
CREATE TABLE Sample (
Id NUMBER PRIMARY KEY,
Name VARCHAR2(50) NOT NULL,
Gender NUMBER(1) NOT NULL,
Age NUMBER(3) NOT NULL
);
INSERT INTO Sample VALUES(1, 'Sato', 0, 20); /* 0='男性', 1='女性' */
INSERT INTO Sample VALUES(2, 'Suzuki', 1, 21); /* 0='男性', 1='女性' */
INSERT INTO Sample VALUES(3, 'Tanaka', 1, 22); /* 0='男性', 1='女性' */
Sampleテーブル
ID | NAME | GENDER | AGE | |
---|---|---|---|---|
1 | 1 | Sato | 0 | 20 |
2 | 2 | Suzuki | 1 | 21 |
3 | 3 | Tanaka | 1 | 22 |
(4) 接続するための設定を記述する
application.properties
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username={username}
spring.datasource.password={password}
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
Oracleデータベースのポート番号はデフォルトでは"1521"らしい
ユーザー名、パスワードはインストール時に設定したものを使用
(5) テスト
最後にテスト用のファイルを作成します。
OracleRepository.java
package com.example.repository;
import org.springframework.data.repository.CrudRepository;
import com.example.model.Sample;
public interface OracleRepository extends CrudRepository<Sample, Integer> {
}
Sample.java
package com.example.model;
import org.springframework.data.annotation.Id;
import lombok.Data;
@Data
public class Sample {
@Id
private Integer id;
private String name;
private Integer gender;
private Integer age;
}
SpringOracleSampleApplication.java
package com.example;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.example.model.Sample;
import com.example.repository.OracleRepository;
@SpringBootApplication
public class SpringOracleSampleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringOracleSampleApplication.class, args)
.getBean(SpringOracleSampleApplication.class).execute();
}
@Autowired
private OracleRepository repository;
public void execute() {
Iterable<Sample> samples = repository.findAll();
for(Sample sample : samples) {
System.out.println(sample);
}
}
}
コンソール画面にテーブルから取得したデータを表示させることができました。
まとめ
Oracleデータベースに接続するための手順をまとめると
- 依存関係にOracle Driver追加(Lombokは必須ではないが、あった方が絶対良い)
- テーブルを作成
- application.propertiesに設定を記述