すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase:JDBC ドライバーを使用した OceanBase データベースへの接続

最終更新日:Jan 19, 2025

公式の MySQL Java Database Connectivity (JDBC) ドライバーを使用して、OceanBase データベースに接続できます。このトピックでは、MySQL Connector/J を使用して OceanBase データベースに接続して使用する方法について説明します。

前提条件

  • Java Development Kit (JDK) 8 以降がインストールされていること。

  • MySQL Connector/J をインストールし、ランタイム環境を構成していること。

    MySQL Connector/J 5.1.47 を使用することをお勧めします。 MySQL Connector/J のダウンロードとインストール方法の詳細については、「」と「」をご参照ください。 Connector/J をダウンロード および Connector/J をインストールする

JDBC ドライバーを使用した OceanBase データベースへの接続

手順 1: データベース接続パラメーターを取得する

詳細については、「接続パラメーターを取得する」をご参照ください。例:

$ obclient -hxxx.xxx.xxx.xxx -P3306 -u a**** -p****** -Dtest

データベース接続パラメーターは、データベースへのアクセスに必要な情報を指定します。サンプルコードで使用する前に、データベースにログオンして、データベース接続パラメーターを確認できます。

オプション:

  • -h: 接続先の OceanBase データベースのドメイン名。

  • -P: OceanBase データベースに接続するためのポート。 デフォルトでは、MySQL モードではポートは 3306 です。

  • -u: テナントアカウント。

  • -p: アカウントパスワード。

  • -D: データベース名。

手順 2: サンプルコードを記述する

次のテキストは、 MySQL Connector/J 5.1.47 Linux を例にとります。

インストールした後 MySQL Connector/J 5.1.47 Test.java

重要

MySQL Connector/J 8.x の場合、com.mysql.jdbc.DriverClass.forName("com.mysql.jdbc.Driver") 内の com.mysql.cj.jdbc.Driver に置き換えます。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
   public static void main(String[] args) {
       try {

            Class.forName("com.mysql.jdbc.Driver").newInstance();

            try{
                
                Connection connection = DriverManager.getConnection("jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?user=a****&password=******");
                System.out.println(connection.getAutoCommit());
                Statement sm = connection.createStatement();
                // Create a table named t_meta_form.
                sm.executeUpdate("CREATE TABLE t_meta_form (name varchar(36) , id int)");
                // Insert data.
                sm.executeUpdate("insert into t_meta_form values ('an','1')");
                // Query data and output the results.
                ResultSet rs = sm.executeQuery("select * from t_meta_form");
                while (rs.next()) {
                    String name = rs.getString("name");
                    String id = rs.getString("id");
                    System.out.println(name + ','+ id);
                }
                // Drop the table.
                sm.executeUpdate("drop table t_meta_form");                

            }catch(SQLException se){
                System.out.println("error!");
                se.printStackTrace() ;
            }

          }catch (Exception ex) {
              ex.printStackTrace();
        }
    }
}

コード内のデータベース接続パラメーターを変更します。 次のパラメーターと形式を参照してください。 パラメーター値は手順 1 で取得します。

connection = DriverManager.getConnection("jdbc:mysql://{host}:{port}/{dbname}?user={username}&password={password}")
  • host: 接続先の OceanBase データベースのドメイン名。 オプションに対応します。. -h オプション

  • ポート: OceanBase データベースに接続するためのポートです。これは、-P オプションに対応します。デフォルトでは、MySQL モードでポートは 3306 です。

  • dbname: データベース名。 オプションに対応します。 -D オプション。

  • username: テナントアカウント。これは、 -u オプション

  • パスワード: テナントアカウントのパスワードです。 -p オプションに対応します。

例:

jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?user=a****&password=******

手順 3: サンプルコードを実行する

コードを編集した後、次の手順に従ってコードを編集および実行します。

  1. JAR パッケージの実際のインストールパスに従って、一時環境変数を構成します。

    $ export CLASSPATH=/usr/share/java/mysql-connector-java-5.1.47.jar:$CLASSPATH
  2. Test.java ファイルをコンパイルします。

    $ javac Test.java
  3. サンプルステートメントを実行します。

    $ java Test
  4. 次の結果が返された場合、データベースは接続され、サンプルステートメントは正しく実行されています。

    true
    an,1