OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

Spring JDBCサンプルプログラム

最終更新:2026-10-10 03:12:37

前提条件
操作手順
ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする
ステップ2:OceanBaseデータベースのURLを取得する
ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する
ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する
プロジェクトコードについて
pom.xmlのコードの紹介
Main.javaコードの紹介
全コード表示
関連ドキュメント
前提条件
操作手順
ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする
ステップ2:OceanBaseデータベースのURLを取得する
ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する
ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する
プロジェクトコードについて
pom.xmlのコードの紹介
Main.javaコードの紹介
全コード表示
関連ドキュメント

本記事では、Spring JDBCフレームワーク、MySQL Connector/J、OceanBaseデータベースを使用してアプリケーションを構築し、テーブルの作成、データの挿入、クエリなど、基本的な操作を実行する方法について説明します。

クリックしてspring-jdbc-mysql-clientサンプルプロジェクトをダウンロード

前提条件

  • OceanBaseデータベースがインストール済みで、MySQLモードのテナントが作成されていること。

  • JDK 1.8とMavenがインストール済みであること。

  • Eclipseがインストール済みであること。

    説明

    この記事はEclipse IDE for Java Developers 2022-03バージョンを使用してコードを実行していますが、お好みのツールを選んでサンプルコードを実行することもできます。

操作手順

説明

本記事で示されている操作手順は、Windows環境でEclipse IDE for Java Developers 2022-03を使用して、本プロジェクトをコンパイルし、実行する手順です。他のOS環境やコンパイラを使用している場合は、操作手順が若干異なる場合があります。

  1. spring-jdbc-mysql-client プロジェクトをEclipseにインポートします。
  2. OceanBaseデータベースのURLを取得します。
  3. spring-jdbc-mysql-client プロジェクトのデータベース接続情報を修正します。
  4. spring-jdbc-mysql-client プロジェクトを実行します。

ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする

  1. Eclipseを開き、メニューバーからFile -> Open Projects from File Systemを選択します。

  2. ポップアップダイアログで、Directoryボタンをクリックしてプロジェクトのディレクトリを選択し、Finishをクリックしてインポートを完了します。

    説明

    Eclipseを使用してMavenプロジェクトをインポートすると、Eclipseがプロジェクト内の pom.xml ファイルを自動的に検出するとともに、ファイルに記述された依存関係に基づいて、必要な依存ライブラリを自動的にダウンロードし、プロジェクトに追加します。

    Import

  3. プロジェクトの状況を確認します。

    p1

ステップ2:OceanBaseデータベースのURLを取得する

  1. OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。

    例:

    obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
    

    接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。

  2. OceanBaseデータベース接続文字列の情報に基づいて、以下のURLの対応する情報を入力します。

    jdbc:mysql://$host:$port/$database_name?user=$user_name&password=$password&useSSL=false
    

    パラメータの説明:

    • $host:OceanBaseデータベースへの接続IPアドレスを提供します。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式はODPアドレスを使用し、直接接続方式はOBServerノードのIPアドレスを使用します。

    • $port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。

    • $database_name:アクセス対象のデータベース名。

      注意

      テナントに接続するユーザーは、データベースに対する CREATE、INSERT、UPDATE、DELETE、SELECT、DROP 権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。

    • $user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名 または クラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。

    • $password:アカウントのパスワード。

    MySQL Connector/Jの接続プロパティの詳細については、Configuration Propertiesを参照してください。

    例:

    jdbc:mysql://xxx.xxx.xxx.xxx:2881/test?user=test_user001@mysql001&password=******&useSSL=false
    

ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する

ステップ2:OceanBaseデータベースのURLを取得する で取得した情報に基づいて、ファイル spring-jdbc-mysql-client/src/main/java/com/example/Main.java のデータベース接続情報を修正します。

3

例:

  • OBServerノードのIPアドレスはxxx.xxx.xxx.xxxです。
  • アクセスポートは2881を使用します。
  • アクセスするデータベース名はtestです。
  • テナントの接続アカウントはtest_user001@mysql001です。test_user001がユーザー名、mysql001がテナント名を表します。このmysql001は、OceanBaseデータベース上にMySQLモードで作成されたテナントです。
  • パスワードは ****** です。

コードは以下のとおりです:

...
        String url = "jdbc:mysql://xxx.xxx.xxx.xxx:2881/test?useSSL=false";
        String username = "test_user001@mysql001";
        String password = "******";
...

ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する

  1. プロジェクトナビゲータービューで、src/main/java ディレクトリを見つけて展開します。

  2. Main.java ファイルを右クリックし、Run As -> Java Application を選択します。

    run

  3. Eclipseのコンソールウィンドウで出力結果を確認します。

    5

プロジェクトコードについて

spring-jdbc-mysql-clientをクリックして、プロジェクトコードをダウンロードします。これは、spring-jdbc-mysql-client.zip という名前の圧縮ファイルです。

解凍すると、spring-jdbc-mysql-client という名前のフォルダが作成されます。ディレクトリ構造は以下のとおりです:

spring-jdbc-mysql-client
├── src
│   └── main
│       └── java
│           └── com
│                └── example
│                   └── Main.java
└── pom.xml

ファイルの説明:

  • src:ソースコードのルートディレクトリです。
  • main:アプリケーションの主要なロジックを含むメインコードディレクトリです。
  • java:Javaソースコードディレクトリです。
  • com:Javaパッケージディレクトリです。
  • example:サンプルプロジェクトのパッケージディレクトリです。
  • Main.java:テーブルの作成やデータの挿入などのロジックを含むメインクラスです。
  • pom.xml:Mavenプロジェクトの設定ファイルで、プロジェクトの依存関係とビルド設定を管理するために使用されます。

pom.xmlのコードの紹介

pom.xml ファイルはMavenプロジェクトの設定ファイルで、プロジェクトの依存関係、プラグイン、ビルドルールなどの情報を定義しています。MavenはJavaプロジェクト管理ツールで、依存関係のダウンロード、プロジェクトのコンパイル、パッケージングなどの操作を自動化できます。

本記事の pom.xml ファイルのコードは、主に以下のいくつかの部分で構成されています:

  1. ファイル宣言ステートメントです。

    このファイルがXMLファイルであり、使用しているXMLのバージョンが 1.0 で、文字エンコーディング方式が UTF-8 であることを宣言しています。

    コードは以下のとおりです:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. POMのネームスペースとPOMモデルバージョンを設定します。

    1. xmlns を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0 と指定します。
    2. xmlns:xsi を使用して、XMLネームスペース http://www.w3.org/2001/XMLSchema-instance と指定します。
    3. xsi:schemaLocation を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0、POMのXSDファイルの場所を http://maven.apache.org/xsd/maven-4.0.0.xsd と指定します。
    4. <modelVersion> 要素を使用して、このPOMファイルが使用するPOMモデルのバージョンを 4.0.0 と指定しています。

    コードは以下のとおりです:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
     <!-- その他の設定 -->
    
    </project>
    
  3. 基本情報を設定します。

    1. <groupId> を使用して、プロジェクトに属する組織を com.example と指定します。
    2. <artifactId> を使用して、プロジェクトの名前を spring-jdbc-mysql-client と指定します。
    3. <version> を使用して、プロジェクトのバージョン番号を 1.0-SNAPSHOT と指定します。

    コードは以下のとおりです:

        <groupId>com.example</groupId>
        <artifactId>spring-jdbc-mysql-client</artifactId>
        <version>1.0-SNAPSHOT</version>
    
  4. プロジェクトソースファイルのプロパティを設定します。

    Mavenのコンパイラプラグインを maven-compiler-plugin と指定し、ソースコードとターゲットJavaバージョンをどちらも8に設定しています。これは、プロジェクトのソースコードがJava 8の機能を使用して記述されており、コンパイルされたバイトコードもJava 8ランタイム環境と互換性があることを意味します。この設定により、プロジェクトはコンパイル時および実行時にJava 8の構文と機能を正しく処理できるようになります。

    説明

    Java 1.8とJava 8は、同じバージョンの異なる命名方式です。

    コードは以下のとおりです:

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
  5. プロジェクトが依存するコンポーネントを設定します。

    1. データベースとのインタラクションを実行するために、mysql-connector-java 依存ライブラリを追加します。

      説明

      このセクションのコードは、プロジェクトが依存するコンポーネントがMySQL Connector/JのV5.1.40バージョンであることを定義しています。他のバージョンの情報については、MySQL Connector/J を参照してください。

      1. <groupId> を使用して、依存関係が属する組織を mysql と指定します。
      2. <artifactId> を使用して、依存関係の名前を mysql-connector-java と指定します。
      3. <version> を使用して、依存関係のバージョン番号を 5.1.40 と指定します。

      コードは以下のとおりです:

              <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
                  <version>5.1.40</version>
              </dependency>
      
    2. spring-jdbc 依存ライブラリを追加します:

      1. <groupId> を使用して、依存関係が所属する組織を org.springframework と指定します。
      2. <artifactId> を使用して、依存関係の名前を spring-jdbc と指定します。
      3. <version> を使用して、依存関係のバージョン番号を 5.2.0.RELEASE と指定します。

      コードは以下のとおりです:

              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-jdbc</artifactId>
                  <version>5.2.0.RELEASE</version>
              </dependency>
      

Main.javaコードの紹介

Main.java ファイルはサンプルプログラムの一部で、コードはSpring JDBCフレームワークを使用してデータベース操作を実行する方法を示しています。まず、データベース接続情報を設定します。次に、JdbcTemplate オブジェクトを作成してデータベース操作を実行します。コードには、テーブルの作成、データの挿入、データのクエリを実行するサンプルも含まれます。

本記事の Main.java ファイルのコードは、主に以下の部分が含まれます。

  1. パッケージを定義し、必要なクラスをインポートします。

    1. 現在のコードが属するパッケージ名を com.example と宣言します。
    2. JdbcTemplate クラスをインポートします。Spring JDBCフレームワークのコアクラスで、データベース操作の実行に使用されます。
    3. DriverManagerDataSource クラスをインポートします。Springが提供する DataSource インターフェースを実装したデータソースクラスで、データベース接続情報の設定に使用されます。

    コードは以下のとおりです:

    package com.example;
    
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.datasource.DriverManagerDataSource;
    
  2. Main クラスを作成し、main メソッドを定義しています。

    1. プログラムのエントリポイントとして、Main という名前のpublicクラスを定義します。クラス名はファイル名と一致させる必要があります。
    2. プログラムの実行開始点として、public staticメソッド main を定義します。
    3. その他のデータベース操作。

    コードは以下のとおりです:

    public class Main {
        public static void main(String[] args) {
            // データベース接続情報
            // データソースの作成
            // JdbcTemplateオブジェクトの作成
            // テーブルの作成
            // データの挿入
            // データの更新
            // データの削除
            // データのクエリ
            // テーブルの削除
        }
    }
    
  3. データベース接続情報を定義します。

    データベースに接続するためのURL、ユーザー名、パスワードを定義します。$host、$port、$database_name、$user_name および $password を実際のデータベース接続情報に置き換える必要があります。

    コードは以下のとおりです:

            String url = "jdbc:mysql://$host:$port/$database_name?useSSL=false";
            String username = "$user_name";
            String password = "$password";
    

    パラメータの説明:

    • $host:OceanBaseデータベースへの接続IPアドレスを提供します。ODP接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。
    • $port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。
    • $database_name:アクセス対象のデータベース名。
    • $user_name:-u パラメータで指定します。形式は、ユーザー名@テナント#クラスタ名 または ユーザー名@SERVICE:サービス名 です。ユーザー@テナント#クラスタ名 の形式を使用する場合、デフォルトのテナントは sys、管理者ユーザーは root です。データベースに直接接続する場合、クラスタ名を省略できますが、ODP接続の場合は入力する必要があります。
    • $password:アカウントのパスワード。
  4. データソースを作成します。

    DriverManagerDataSource オブジェクトを作成し、ドライバークラス名、データベースURL、ユーザー名、パスワードを含むデータベース接続の関連情報を設定しています。具体的な手順は以下のとおりです:

    1. データベース接続情報を設定するために、DriverManagerDataSource オブジェクトを作成します。
    2. ドライバークラス名の設定:setDriverClassName メソッドを呼び出して、データベースドライバーのクラス名を com.mysql.jdbc.Driver に設定します。
    3. データベースURLの設定:setUrl メソッドを呼び出して、データベースのURLを設定します。
    4. ユーザー名の設定:setUsername メソッドを呼び出して、データベースのユーザー名を設定します。
    5. パスワードの設定:setPassword メソッドを呼び出して、データベースのパスワードを設定します。

    コードは以下のとおりです:

            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName("com.mysql.jdbc.Driver");
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
    
  5. JdbcTemplate オブジェクトを作成します。

    JdbcTemplate オブジェクトを作成します。これはSpring JDBCフレームワークのコアクラスの1つです。JdbcTemplate は、SQLステートメントの実行、データの更新、データのクエリなど、データベース操作を実行するメソッドを提供します。

    コードは以下のとおりです:

            JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    
  6. テーブルを作成します。

    1. テーブルを作成するSQLステートメントを定義します。SQLステートメントでテーブル名を test_springjdbc と指定し、id という名前の INT タイプの列と name という名前の VARCHAR(20) タイプの列の2つの列を定義します。
    2. テーブルを作成するSQLステートメントを実行します。jdbcTemplate オブジェクトは execute メソッドを呼び出して、上記で定義したテーブルを作成するSQLステートメントを実行しました。
    3. コンソールにテーブル作成が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String createTableSql = "CREATE TABLE test_springjdbc (id INT, name VARCHAR(20))";
            jdbcTemplate.execute(createTableSql);
            System.out.println("Create table successfully.");
    
  7. データを挿入します。

    1. データを挿入するSQLステートメントを定義します。SQLステートメントで挿入するテーブルを test_springjdbc、列を id と name と指定し、(1,'A1')、(2,'A2')、(3,'A3') の2行のデータを挿入します。
    2. データを挿入するSQLステートメントを実行します。jdbcTemplate オブジェクトは update メソッドを呼び出して、上記で定義したデータを挿入するSQLステートメントを実行します。
    3. コンソールにデータ挿入が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String insertDataSql = "INSERT INTO test_springjdbc (id,name) VALUES (1,'A1'), (2,'A2'), (3,'A3')";
            jdbcTemplate.update(insertDataSql);
            System.out.println("Insert data successfully.");
    
  8. データを更新します。

    1. SQLステートメントを定義し、データベースのテーブル test_springjdbc 内で id が 1 のレコードの name フィールドの値を A11 に更新するために使用されます。
    2. jdbcTemplate オブジェクトを使用して、SQLステートメントを実行し、データベースに更新操作を適用します。
    3. コンソールにデータ更新が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String updateDataSql = "UPDATE test_springjdbc SET name = 'A11' WHERE id = 1";
            jdbcTemplate.update(updateDataSql);
            System.out.println("Update data successfully.");
    
  9. データを削除します。

    1. SQLステートメントを定義し、データベースのテーブル test_springjdbc から id が 2 のレコードを削除するために使用されます 。
    2. jdbcTemplate オブジェクトを使用して、SQLステートメントを実行し、データベースに削除操作を適用します。
    3. コンソールにデータ削除が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String deleteDataSql = "DELETE FROM test_springjdbc WHERE id = 2";
            jdbcTemplate.update(deleteDataSql);
            System.out.println("Delete data successfully.");
    
  10. データのクエリを実行します。

    1. データのクエリを実行するSQLステートメントを定義します。SQLステートメントで SELECT * を使用してすべての列を選択し、test_springjdbc テーブルからのデータのクエリを実行します。
    2. データのクエリを実行するSQLステートメントを実行します。jdbcTemplate オブジェクトは query メソッドを呼び出して、上記で定義したデータのクエリを実行するSQLステートメントを実行します。パラメータとしてコールバック関数を受け取ります。
    3. コールバック関数内のコードは、ResultSet オブジェクト(rs)を使用してクエリ結果の各行データを取得し、処理を行います。コールバック関数は、getInt と getString メソッドを使用して ResultSet オブジェクトから id と name 列の値を取得し、コンソールに出力します。最後に、コールバック関数は null を返します。
    4. コンソールにデータクエリが成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String selectDataSql = "SELECT * FROM test_springjdbc";
            jdbcTemplate.query(selectDataSql, (rs, rowNum) -> {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                System.out.println("id: " + id + ", name: " + name);
                return null;
            });
            System.out.println("Query data successfully.");
    
  11. テーブルを削除します。

    1. SQLステートメントを定義し、データベース内の test_springjdbc テーブルを削除するために使用されます 。
    2. jdbcTemplate オブジェクトを使用してSQLステートメントを実行し、データベースにテーブルの削除操作を適用します。
    3. テーブル削除が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String deleteTableSql = "DROP TABLE test_springjdbc";
            jdbcTemplate.execute(deleteTableSql);
            System.out.println("Table drop successfully.");
    

全コード表示

pom.xml
Main.java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-jdbc-mysql-client</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
    </dependencies>

</project>
package com.example;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class Main {
    public static void main(String[] args) {
        // Database Connect Information
        String url = "jdbc:mysql://$host:$port/$database_name?useSSL=false";
        String username = "$user_name";
        String password = "$password";

        // create data source
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);

        // Create a JdbcTemplate object
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

        // Create table
        String createTableSql = "CREATE TABLE test_springjdbc (id INT, name VARCHAR(20))";
        jdbcTemplate.execute(createTableSql);
        System.out.println("Create table successfully.");

        // Insert data
        String insertDataSql = "INSERT INTO test_springjdbc (id,name) VALUES (1,'A1'), (2,'A2'), (3,'A3')";
        jdbcTemplate.update(insertDataSql);
        System.out.println("Insert data successfully.");

        // Update data
        String updateDataSql = "UPDATE test_springjdbc SET name = 'A11' WHERE id = 1";
        jdbcTemplate.update(updateDataSql);
        System.out.println("Update data successfully.");

        // Delete data
        String deleteDataSql = "DELETE FROM test_springjdbc WHERE id = 2";
        jdbcTemplate.update(deleteDataSql);
        System.out.println("Delete data successfully.");

        // Query data
        String selectDataSql = "SELECT * FROM test_springjdbc";
        jdbcTemplate.query(selectDataSql, (rs, rowNum) -> {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            System.out.println("id: " + id + ", name: " + name);
            return null;
        });
        System.out.println("Query data successfully.");

        // Delete table
        String deleteTableSql = "DROP TABLE test_springjdbc";
        jdbcTemplate.execute(deleteTableSql);
        System.out.println("Table drop successfully.");
    }
}

関連ドキュメント

MySQL Connector/Jの詳細については、Overview of MySQL Connector/Jを参照してください。 MySQL Mode|

本記事では、Spring JDBCフレームワーク、MySQL Connector/J、OceanBaseデータベースを使用してアプリケーションを構築し、テーブルの作成、データの挿入、クエリなど、基本的な操作を実行する方法について説明します。

クリックしてspring-jdbc-mysql-clientサンプルプロジェクトをダウンロード Spring JDBCによりOceanBaseデータベースに接続するサンプルプログラム(MySQLモード)

前提条件

  • OceanBaseデータベースがインストール済みで、MySQLモードのテナントが作成されていること。

  • JDK 1.8とMavenがインストール済みであること。

  • Eclipseがインストール済みであること。

    説明

    この記事はEclipse IDE for Java Developers 2022-03バージョンを使用してコードを実行していますが、お好みのツールを選んでサンプルコードを実行することもできます。

操作手順

説明

本記事で示されている操作手順は、Windows環境でEclipse IDE for Java Developers 2022-03を使用して、本プロジェクトをコンパイルし、実行する手順です。他のOS環境やコンパイラを使用している場合は、操作手順が若干異なる場合があります。

  1. spring-jdbc-mysql-client プロジェクトをEclipseにインポートします。
  2. OceanBaseデータベースのURLを取得します。
  3. spring-jdbc-mysql-client プロジェクトのデータベース接続情報を修正します。
  4. spring-jdbc-mysql-client プロジェクトを実行します。

ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする

  1. Eclipseを開き、メニューバーからFile -> Open Projects from File Systemを選択します。

  2. ポップアップダイアログで、Directoryボタンをクリックしてプロジェクトのディレクトリを選択し、Finishをクリックしてインポートを完了します。

    説明

    Eclipseを使用してMavenプロジェクトをインポートすると、Eclipseがプロジェクト内の pom.xml ファイルを自動的に検出するとともに、ファイルに記述された依存関係に基づいて、必要な依存ライブラリを自動的にダウンロードし、プロジェクトに追加します。

    Import

  3. プロジェクトの状況を確認します。

    p1

ステップ2:OceanBaseデータベースのURLを取得する

  1. OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。

    例:

    obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
    

    接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。

  2. OceanBaseデータベース接続文字列の情報に基づいて、以下のURLの対応する情報を入力します。

    jdbc:mysql://$host:$port/$database_name?user=$user_name&password=$password&useSSL=false
    

    パラメータの説明:

    • $host:OceanBaseデータベースへの接続IPアドレスを提供します。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式はODPアドレスを使用し、直接接続方式はOBServerノードのIPアドレスを使用します。

    • $port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。

    • $database_name:アクセス対象のデータベース名。

      注意

      テナントに接続するユーザーは、データベースに対する CREATE、INSERT、UPDATE、DELETE、SELECT、DROP 権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。

    • $user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名 または クラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。

    • $password:アカウントのパスワード。

    MySQL Connector/Jの接続プロパティの詳細については、Configuration Propertiesを参照してください。

    例:

    jdbc:mysql://xxx.xxx.xxx.xxx:2881/test?user=test_user001@mysql001&password=******&useSSL=false
    

ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する

ステップ2:OceanBaseデータベースのURLを取得する で取得した情報に基づいて、ファイル spring-jdbc-mysql-client/src/main/java/com/example/Main.java のデータベース接続情報を修正します。

3

例:

  • OBServerノードのIPアドレスはxxx.xxx.xxx.xxxです。
  • アクセスポートは2881を使用します。
  • アクセスするデータベース名はtestです。
  • テナントの接続アカウントは test_user001@mysql001 です。test_user001がユーザー名、mysql001がテナント名を表します。このmysql001は、OceanBaseデータベース上にMySQLモードで作成されたテナントです。
  • パスワードは ****** です。

コードは以下のとおりです:

...
        String url = "jdbc:mysql://xxx.xxx.xxx.xxx:2881/test?useSSL=false";
        String username = "test_user001@mysql001";
        String password = "******";
...

ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する

  1. プロジェクトナビゲータービューで、src/main/java ディレクトリを見つけて展開します。

  2. Main.java ファイルを右クリックし、Run As -> Java Application を選択します。

    run

  3. Eclipseのコンソールウィンドウで出力結果を確認します。

    5

プロジェクトコードについて

spring-jdbc-mysql-clientをクリックして、プロジェクトコードをダウンロードします。これは、spring-jdbc-mysql-client.zip という名前の圧縮ファイルです。

解凍すると、spring-jdbc-mysql-client という名前のフォルダが作成されます。ディレクトリ構造は以下のとおりです:

spring-jdbc-mysql-client
├── src
│   └── main
│       └── java
│           └── com
│                └── example
│                   └── Main.java
└── pom.xml

ファイルの説明:

  • src:ソースコードのルートディレクトリです。
  • main:アプリケーションの主要なロジックを含むメインコードディレクトリです。
  • java:Javaソースコードディレクトリです。
  • com:Javaパッケージディレクトリです。
  • example:サンプルプロジェクトのパッケージディレクトリです。
  • Main.java:テーブルの作成やデータの挿入などのロジックを含むメインクラスです。
  • pom.xml:Mavenプロジェクトの設定ファイルで、プロジェクトの依存関係とビルド設定を管理するために使用されます。

pom.xmlのコードの紹介

pom.xml ファイルはMavenプロジェクトの設定ファイルで、プロジェクトの依存関係、プラグイン、ビルドルールなどの情報を定義しています。MavenはJavaプロジェクト管理ツールで、依存関係のダウンロード、プロジェクトのコンパイル、パッケージングなどの操作を自動化できます。

本記事の pom.xml ファイルのコードは、主に以下のいくつかの部分で構成されています:

  1. ファイル宣言ステートメントです。

    このファイルがXMLファイルであり、使用しているXMLのバージョンが 1.0 で、文字エンコーディング方式が UTF-8 であることを宣言しています。

    コードは以下のとおりです:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. POMのネームスペースとPOMモデルバージョンを設定します。

    1. xmlns を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0 と指定します。
    2. xmlns:xsi を使用して、XMLネームスペース http://www.w3.org/2001/XMLSchema-instance と指定します。
    3. xsi:schemaLocation を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0、POMのXSDファイルの場所を http://maven.apache.org/xsd/maven-4.0.0.xsd と指定します。
    4. <modelVersion> 要素を使用して、このPOMファイルが使用するPOMモデルのバージョンを 4.0.0 と指定しています。

    コードは以下のとおりです:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
     <!-- その他の設定 -->
    
    </project>
    
  3. 基本情報を設定します。

    1. <groupId> を使用して、プロジェクトに属する組織を com.example と指定します。
    2. <artifactId> を使用して、プロジェクトの名前を spring-jdbc-mysql-client と指定します。
    3. <version> を使用して、プロジェクトのバージョン番号を 1.0-SNAPSHOT と指定します。

    コードは以下のとおりです:

        <groupId>com.example</groupId>
        <artifactId>spring-jdbc-mysql-client</artifactId>
        <version>1.0-SNAPSHOT</version>
    
  4. プロジェクトソースファイルのプロパティを設定します。

    Mavenのコンパイラプラグインを maven-compiler-plugin と指定し、ソースコードとターゲットJavaバージョンをどちらも8に設定しています。これは、プロジェクトのソースコードがJava 8の機能を使用して記述されており、コンパイルされたバイトコードもJava 8ランタイム環境と互換性があることを意味します。この設定により、プロジェクトはコンパイル時および実行時にJava 8の構文と機能を正しく処理できるようになります。

    説明

    Java 1.8とJava 8は、同じバージョンの異なる命名方式です。

    コードは以下のとおりです:

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
  5. プロジェクトが依存するコンポーネントを設定します。

    1. データベースとのインタラクションを実行するために、mysql-connector-java 依存ライブラリを追加します。

      説明

      このセクションのコードは、プロジェクトが依存するコンポーネントがMySQL Connector/JのV5.1.40バージョンであることを定義しています。他のバージョンの情報については、MySQL Connector/J を参照してください。

      1. <groupId> を使用して、依存関係が属する組織を mysql と指定します。
      2. <artifactId> を使用して、依存関係の名前を mysql-connector-java と指定します。
      3. <version> を使用して、依存関係のバージョン番号を 5.1.40 と指定します。

      コードは以下のとおりです:

              <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
                  <version>5.1.40</version>
              </dependency>
      
    2. spring-jdbc 依存ライブラリを追加します:

      1. <groupId> を使用して、依存関係が所属する組織を org.springframework と指定します。
      2. <artifactId> を使用して、依存関係の名前を spring-jdbc と指定します。
      3. <version> を使用して、依存関係のバージョン番号を 5.2.0.RELEASE と指定します。

      コードは以下のとおりです:

              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-jdbc</artifactId>
                  <version>5.2.0.RELEASE</version>
              </dependency>
      

Main.javaコードの紹介

Main.java ファイルはサンプルプログラムの一部で、コードはSpring JDBCフレームワークを使用してデータベース操作を実行する方法を示しています。まず、データベース接続情報を設定します。次に、JdbcTemplate オブジェクトを作成してデータベース操作を実行します。コードには、テーブルの作成、データの挿入、データのクエリを実行するサンプルも含まれます。

本記事の Main.java ファイルのコードは、主に以下の部分が含まれます。

  1. パッケージを定義し、必要なクラスをインポートします。

    1. 現在のコードが属するパッケージ名を com.example と宣言します。
    2. JdbcTemplate クラスをインポートします。Spring JDBCフレームワークのコアクラスで、データベース操作の実行に使用されます。
    3. DriverManagerDataSource クラスをインポートします。Springが提供する DataSource インターフェースを実装したデータソースクラスで、データベース接続情報の設定に使用されます。

    コードは以下のとおりです:

    package com.example;
    
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.datasource.DriverManagerDataSource;
    
  2. Main クラスを作成し、main メソッドを定義しています。

    1. プログラムのエントリポイントとして、Main という名前のpublicクラスを定義します。クラス名はファイル名と一致させる必要があります。
    2. プログラムの実行開始点として、public staticメソッド main を定義します。
    3. その他のデータベース操作。

    コードは以下のとおりです:

    public class Main {
        public static void main(String[] args) {
            // データベース接続情報
            // データソースの作成
            // JdbcTemplateオブジェクトの作成
            // テーブルの作成
            // データの挿入
            // データの更新
            // データの削除
            // データのクエリ
            // テーブルの削除
        }
    }
    
  3. データベース接続情報を定義します。

    データベースに接続するためのURL、ユーザー名、パスワードを定義します。$host、$port、$database_name、$user_name および $password を実際のデータベース接続情報に置き換える必要があります。

    コードは以下のとおりです:

            String url = "jdbc:mysql://$host:$port/$database_name?useSSL=false";
            String username = "$user_name";
            String password = "$password";
    

    パラメータの説明:

    • $host:OceanBaseデータベースへの接続IPアドレスを提供します。ODP接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。
    • $port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。
    • $database_name:アクセス対象のデータベース名。
    • $user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名 または クラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。
    • $password:アカウントのパスワード。
  4. データソースを作成します。

    DriverManagerDataSource オブジェクトを作成し、ドライバークラス名、データベースURL、ユーザー名、パスワードを含むデータベース接続の関連情報を設定しています。具体的な手順は以下のとおりです:

    1. データベース接続情報を設定するために、DriverManagerDataSource オブジェクトを作成します。
    2. ドライバークラス名の設定:setDriverClassName メソッドを呼び出して、データベースドライバーのクラス名を com.mysql.jdbc.Driver に設定します。
    3. データベースURLの設定:setUrl メソッドを呼び出して、データベースのURLを設定します。
    4. ユーザー名の設定:setUsername メソッドを呼び出して、データベースのユーザー名を設定します。
    5. パスワードの設定:setPassword メソッドを呼び出して、データベースのパスワードを設定します。

    コードは以下のとおりです:

            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName("com.mysql.jdbc.Driver");
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
    
  5. JdbcTemplate オブジェクトを作成します。

    JdbcTemplate オブジェクトを作成します。これはSpring JDBCフレームワークのコアクラスの1つです。JdbcTemplate は、SQLステートメントの実行、データの更新、データのクエリなど、データベース操作を実行するメソッドを提供します。

    コードは以下のとおりです:

            JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    
  6. テーブルを作成します。

    1. テーブルを作成するSQLステートメントを定義します。SQLステートメントでテーブル名を test_springjdbc と指定し、id という名前の INT タイプの列と name という名前の VARCHAR(20) タイプの列の2つの列を定義します。
    2. テーブルを作成するSQLステートメントを実行します。jdbcTemplate オブジェクトは execute メソッドを呼び出して、上記で定義したテーブルを作成するSQLステートメントを実行しました。
    3. コンソールにテーブル作成が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String createTableSql = "CREATE TABLE test_springjdbc (id INT, name VARCHAR(20))";
            jdbcTemplate.execute(createTableSql);
            System.out.println("Create table successfully.");
    
  7. データを挿入します。

    1. データを挿入するSQLステートメントを定義します。SQLステートメントで挿入するテーブルを test_springjdbc、列を id と name と指定し、(1,'A1')、(2,'A2')、(3,'A3') の2行のデータを挿入します。
    2. データを挿入するSQLステートメントを実行します。jdbcTemplate オブジェクトは update メソッドを呼び出して、上記で定義したデータを挿入するSQLステートメントを実行します。
    3. コンソールにデータ挿入が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String insertDataSql = "INSERT INTO test_springjdbc (id,name) VALUES (1,'A1'), (2,'A2'), (3,'A3')";
            jdbcTemplate.update(insertDataSql);
            System.out.println("Insert data successfully.");
    
  8. データを更新します。

    1. SQLステートメントを定義し、データベースのテーブル test_springjdbc 内で id が 1 のレコードの name フィールドの値を A11 に更新するために使用されます。
    2. jdbcTemplate オブジェクトを使用して、SQLステートメントを実行し、データベースに更新操作を適用します。
    3. コンソールにデータ更新が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String updateDataSql = "UPDATE test_springjdbc SET name = 'A11' WHERE id = 1";
            jdbcTemplate.update(updateDataSql);
            System.out.println("Update data successfully.");
    
  9. データを削除します。

    1. SQLステートメントを定義し、データベースのテーブル test_springjdbc から id が 2 のレコードを削除するために使用されます 。
    2. jdbcTemplate オブジェクトを使用して、SQLステートメントを実行し、データベースに削除操作を適用します。
    3. コンソールにデータ削除が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String deleteDataSql = "DELETE FROM test_springjdbc WHERE id = 2";
            jdbcTemplate.update(deleteDataSql);
            System.out.println("Delete data successfully.");
    
  10. データのクエリを実行します。

    1. データのクエリを実行するSQLステートメントを定義します。SQLステートメントで SELECT * を使用してすべての列を選択し、test_springjdbc テーブルからのデータのクエリを実行します。
    2. データのクエリを実行するSQLステートメントを実行します。jdbcTemplate オブジェクトは query メソッドを呼び出して、上記で定義したデータのクエリを実行するSQLステートメントを実行します。パラメータとしてコールバック関数を受け取ります。
    3. コールバック関数内のコードは、ResultSet オブジェクト(rs)を使用してクエリ結果の各行データを取得し、処理を行います。コールバック関数は、getInt と getString メソッドを使用して ResultSet オブジェクトから id と name 列の値を取得し、コンソールに出力します。最後に、コールバック関数は null を返します。
    4. コンソールにデータクエリが成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String selectDataSql = "SELECT * FROM test_springjdbc";
            jdbcTemplate.query(selectDataSql, (rs, rowNum) -> {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                System.out.println("id: " + id + ", name: " + name);
                return null;
            });
            System.out.println("Query data successfully.");
    
  11. テーブルを削除します。

    1. SQLステートメントを定義し、データベース内の test_springjdbc テーブルを削除するために使用されます 。
    2. jdbcTemplate オブジェクトを使用してSQLステートメントを実行し、データベースにテーブルの削除操作を適用します。
    3. テーブル削除が成功したことを示すメッセージを出力します。

    コードは以下のとおりです:

            String deleteTableSql = "DROP TABLE test_springjdbc";
            jdbcTemplate.execute(deleteTableSql);
            System.out.println("Table drop successfully.");
    

全コード表示

pom.xml
Main.java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-jdbc-mysql-client</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
    </dependencies>

</project>
package com.example;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class Main {
    public static void main(String[] args) {
        // Database Connect Information
        String url = "jdbc:mysql://$host:$port/$database_name?useSSL=false";
        String username = "$user_name";
        String password = "$password";

        // create data source
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);

        // Create a JdbcTemplate object
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

        // Create table
        String createTableSql = "CREATE TABLE test_springjdbc (id INT, name VARCHAR(20))";
        jdbcTemplate.execute(createTableSql);
        System.out.println("Create table successfully.");

        // Insert data
        String insertDataSql = "INSERT INTO test_springjdbc (id,name) VALUES (1,'A1'), (2,'A2'), (3,'A3')";
        jdbcTemplate.update(insertDataSql);
        System.out.println("Insert data successfully.");

        // Update data
        String updateDataSql = "UPDATE test_springjdbc SET name = 'A11' WHERE id = 1";
        jdbcTemplate.update(updateDataSql);
        System.out.println("Update data successfully.");

        // Delete data
        String deleteDataSql = "DELETE FROM test_springjdbc WHERE id = 2";
        jdbcTemplate.update(deleteDataSql);
        System.out.println("Delete data successfully.");

        // Query data
        String selectDataSql = "SELECT * FROM test_springjdbc";
        jdbcTemplate.query(selectDataSql, (rs, rowNum) -> {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            System.out.println("id: " + id + ", name: " + name);
            return null;
        });
        System.out.println("Query data successfully.");

        // Delete table
        String deleteTableSql = "DROP TABLE test_springjdbc";
        jdbcTemplate.execute(deleteTableSql);
        System.out.println("Table drop successfully.");
    }
}

関連ドキュメント

MySQL Connector/Jの詳細については、Overview of MySQL Connector/Jを参照してください。

前のトピック

SpringBatchサンプルプログラム
前へ

次のトピック

SpringDataJPAサンプルプログラム
次へ
このページの内容
前提条件
操作手順
ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする
ステップ2:OceanBaseデータベースのURLを取得する
ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する
ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する
プロジェクトコードについて
pom.xmlのコードの紹介
Main.javaコードの紹介
全コード表示
関連ドキュメント
前提条件
操作手順
ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする
ステップ2:OceanBaseデータベースのURLを取得する
ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する
ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する
プロジェクトコードについて
pom.xmlのコードの紹介
Main.javaコードの紹介
全コード表示
関連ドキュメント