OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    Spring JDBC

    最終更新日:2026-04-09 02:53:56  更新
    シェア
    このページの内容
    機能特性
    適用シナリオ
    前提条件
    操作手順
    ステップ1:spring-jdbc-mysql-clientプロジェクトをEclipseにインポートする
    ステップ2:OceanBaseデータベースのURLを取得する
    ステップ3:spring-jdbc-mysql-clientプロジェクトのデータベース接続情報を修正する
    ステップ4:spring-jdbc-mysql-clientプロジェクトを実行する
    よくある質問
    1. 接続タイムアウト
    2. 文字セット问题
    3. SSL接続
    4. アカウントパスワードに含まれる特殊文字
    プロジェクトコードについて
    pom.xmlコードの紹介
    Main.javaコードの紹介
    全コード表示
    ベストプラクティス
    トランザクション管理
    関連ドキュメント

    折りたたみ

    シェア

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

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

    機能特性

    • 基本的なCRUD操作をサポートする
    • トランザクション管理を提供する
    • 異常処理メカニズム
    • 接続プール管理

    適用シナリオ

    • SQLステートメントを直接使用する必要があるシナリオ
    • パフォーマンス要件が高いシナリオ
    • 簡単なデータベース操作のシナリオ

    前提条件

    • OceanBaseデータベースがインストール済みであり、且つMySQLモードのテナントが作成済みであること。

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

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

      説明

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

    操作手順

    説明

    本記事の操作手順はWindows環境に基づいています。他の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プロジェクトをインポートすると、プロジェクト内の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

    よくある質問

    1. 接続タイムアウト

    接続タイムアウトの問題が発生した場合は、JDBC URLで接続タイムアウトのパラメータを設定できます:

    jdbc:mysql://host:port/database?connectTimeout=30000&socketTimeout=60000
    

    2. 文字セット问题

    正しい文字エンコーディングを確保するには、JDBC URLに正しい文字セットパラメータを設定します。

    jdbc:mysql://host:port/database?characterEncoding=utf8&useUnicode=true
    

    3. SSL接続

    OceanBaseデータベースとのSSL接続を有効にするには、JDBC URLに以下のパラメータを追加します:

    jdbc:mysql://host:port/database?useSSL=true&requireSSL=true
    

    4. アカウントパスワードに含まれる特殊文字

    ユーザー名またはパスワードに特殊文字(例:#)が含まれている場合は、URLエンコーディングを行う必要があります:

    String encodedPassword = URLEncoder.encode(password, "UTF-8");
    

    注意

    MySQL Connector/J 8.xを使用する際は、アカウントパスワードにシャープ記号(#)が含まれないようにしてください。そうしないと、接続エラーが発生する可能性があります。

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

    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. データベースのテーブル test_springjdbc 内で id が 1 のレコードの name フィールドの値を A11 に更新するSQLステートメントを定義します。
      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. データベースのテーブル test_springjdbc から id が 2 のレコードを削除するSQLステートメントを定義します。
      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. データベース内の test_springjdbc テーブルを削除するSQLステートメントを定義します。
      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.");
        }
    }
    

    ベストプラクティス

    トランザクション管理

    @Transactional
    public void transferMoney(String fromAccount, String toAccount, BigDecimal amount) {
        // トランザクション操作
    }
    

    関連ドキュメント

    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プロジェクトを実行する
    よくある質問
    1. 接続タイムアウト
    2. 文字セット问题
    3. SSL接続
    4. アカウントパスワードに含まれる特殊文字
    プロジェクトコードについて
    pom.xmlコードの紹介
    Main.javaコードの紹介
    全コード表示
    ベストプラクティス
    トランザクション管理
    関連ドキュメント