Spring Data JDBC と Oracle Driver[プログラミング]
(2026-07-14 21:34:00) by shinoda


< ページ移動: 1 2 >

Oracle Database からデータを取ってくるバッチ処理を Spring Batch 6 で作ろうと思って、Eclipse
で依存関係をこんな風に設定した。

<画像:20260702_batch1.jpg>

DB関係は、Spring Data JDBC と Oracle Driver を選択した。

pom.xml の中はこんな感じ。以下依存関係が存在することを確認した。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc11</artifactId>
            <scope>runtime</scope>
        </dependency>

Spring Batch(Spring Boot)の勉強始めてから、ぼんやり、Spring Data JDBC(spring-boot-starter-data-jdbc)が設定する環境(最低限の変換アダプタとしての基盤)に、Oracle や PostgreSQL ドライバが各 DBMS 特有の機能を補完する形になっているのかと思ってた。つまり、Spring Data JDBC と実際に使用する DBMS を組み合わせて使うものだと。

でも、今朝、ふと「Oracle JDBC ドライバって言うくらいなんだから、ojdbc11 単体の依存関係設定だけでいいんじゃね?」と思いついて、そもそも Spring Data JDBC ってなんやん?実はいらんのんちゃう?と調べてみると・・・

いらんやん・・・(^^;;;

最低限必要なのは Spring Batch と Oracle Driver だけやん。

上に書いたような「最低限の変換アダプタとしての機能」は spring-boot-starter-jdbc(SpringのJDBC基盤)で作られるんだけど、これは Spring Batch のスターター(spring-boot-starter-batch)が内部的に読み込んでいる。なので、この基盤の上で動く各 DBMS のドライバ(今回は Oracle Driver)だけ依存関係を設定してやればええんや。

必要なのは、

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-batch</artifactId>
        </dependency>

        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc11</artifactId>
            <scope>runtime</scope>
        </dependency>

これだけね。

ちなみに、Spring Data JDBC で設定される機能って何かというと(Qiita の @yoshikawaa(Atsushi
Yoshikawa)さんの記事によると)、
https://qiita.com/yoshikawaa/items/c25715df81ba0d18a74f


なるほど、依存関係を設定しておくと色々便利なのね。ただ、これらの機能を使用しない、ただ単にDBを読むだけなら必要ない。Oracle Driver だけあればいい・・・という話なのね?

< ページ移動: 1 2 >


コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8