Java Database Connectivity (JDBC) を使用すると、ご利用の Java アプリケーションを EMR Serverless StarRocks インスタンスに接続し、SQL クエリをプログラムで実行できます。
前提条件
開始する前に、以下を確認してください。
Serverless StarRocks インスタンス。詳細については、「インスタンスの作成」をご参照ください。
StarRocks インスタンスへの接続
ステップ 1: JDBC ドライバーを Maven プロジェクトに追加
MySQL JDBC ドライバーの依存関係を、ご利用の pom.xml ファイルに追加します。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version><!-- Modify the version based on your requirements. -->
</dependency>StarRocks は公式の JDBC ドライバーを提供していません。この例では、mysql-connector-java を使用しています。互換性の問題が発生する可能性があるため、ご利用のデータベースの公式ウェブサイトで、サポートされている JDBC ドライバーを確認してください。
ステップ 2: 接続してクエリを実行
次の例は、StarRocks インスタンスに接続して SQL クエリを実行します。
public class ConnStarrocks {
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
// Format: jdbc:mysql://<FE node endpoint>:<fe_query_port>/<database>
static final String DB_URL = "jdbc:mysql://localhost:9030/yourDatabaseName?useSSL=false&serverTimezone=UTC";
// Replace with your actual username and password.
static final String USER = "****";
static final String PASSWORD = "1234*****";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// Load the JDBC driver.
Class.forName(JDBC_DRIVER);
// Establish the connection.
System.out.println("Connecting.");
conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
// Run a query.
System.out.println("Instantiating the Statement object...");
stmt = conn.createStatement();
String sql = "SELECT id, name, url FROM websites";
ResultSet rs = stmt.executeQuery(sql);
// Close resources.
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
System.out.println("Goodbye!");
}
}接続が成功すると、出力は次のようになります。

パラメーター
次の表は、主要なパラメーターについて説明しています。プレースホルダー値を実際の構成に置き換えてください。
| パラメーター | 説明 | 例 |
|---|---|---|
JDBC_DRIVER | JDBC ドライバーのクラス名。 | com.mysql.cj.jdbc.Driver |
DB_URL | StarRocks に接続するための JDBC URL。形式: jdbc:mysql://<Frontend (FE) node endpoint>:<fe_query_port>/<database>。これらの値の取得方法については、「FE ノードエンドポイントとクエリポートの取得」をご参照ください。 | jdbc:mysql://localhost:9030/load_test |
USER | ユーザー名。デフォルトのadminユーザーには管理者権限があります。また、[ユーザー]ページで作成したカスタムユーザーを使用することもできます。詳細については、「ユーザー管理とデータの権限付与」をご参照ください。 | admin |
PASSWORD | ユーザーのパスワード。 | — |
sql | 実行する SQL ステートメントです。詳細については、「StarRocks の共有なしインスタンスの使用」をご参照ください。 | SELECT id, name, url FROM websites |
FE ノードエンドポイントとクエリポートの取得
両方の値は、お使いの StarRocks インスタンスの [インスタンス詳細] タブにある [FE Details] セクションにあります。
FE ノードエンドポイント: StarRocks インスタンスとご利用のクライアントが同じ VPC にある場合は、内部エンドポイントを使用します。そうでない場合は、パブリックエンドポイントを使用します。その際、セキュリティグループルールが必要なポートからのアクセスを許可していることを確認してください。詳細については、「ネットワークセキュリティ設定の構成」をご参照ください。
クエリポート: デフォルトは
9030です。
次のステップ
Serverless StarRocks Manager の SQL エディターを使用して、SQL ステートメントの作成、実行、管理を行います。詳細については、「EMR StarRocks Manager を使用した EMR Serverless StarRocks インスタンスへの接続」をご参照ください。