通过JDBC连接到Serverless StarRocks实例,您可以享受到跨平台的统一数据接入体验,并显著简化应用程序的集成流程。本文为您介绍如何使用JDBC方式连接Serverless StarRocks实例。
前提条件
已创建Serverless StarRocks实例,详情请参见创建实例。
操作步骤
添加MySQL JDBC驱动到Maven项目中,请在
pom.xml
文件中添加以下依赖项。<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version><!-- 根据实际需要修改版本 --> </dependency>
说明mysql-connector-java
为MySQL数据库的JDBC驱动程序,不同目标数据库使用的JDBC驱动程序不同,使用其他数据库的JDBC驱动程序会有不兼容的问题,建议访问目标数据库官网,查询并使用其支持的JDBC驱动程序。StarRocks目前尚未提供官方的JDBC驱动程序,因此本文使用MySQL的JDBC驱动程序。连接StarRocks实例,示例代码如下。
public class ConnStarrocks { /**连接MySQL数据库 1、加载驱动程序 2、数据库连接字符串"jdbc:mysql://localhost:9030/数据库名?" 3、数据库登录名 4、数据库登录密码 **/ static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:9030/yourDatabaseName?useSSL=false&serverTimezone=UTC"; /**用户名与密码,需要根据实际情况设置。**/ static final String USER = "****"; static final String PASSWORD = "1234*****"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 注册JDBC驱动。 Class.forName(JDBC_DRIVER); // 建立数据库连接。 System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASSWORD); // 创建Statement对象执行查询。 System.out.println(" 实例化Statement对象..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; //获取查询结果集。 ResultSet rs = stmt.executeQuery(sql); // 完成后关闭。 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ // 处理JDBC错误。 se.printStackTrace(); }catch(Exception e){ // 处理Class.forName错误。 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
数据库连接字符串,格式为
jdbc:mysql://<FE地址>:<fe_query_port>/<database>
,其中涉及参数如下:<FE地址>
:Serverless StarRocks实例中FE的内网或公网地址。您可以在实例详情页面的FE详情区域查看。如果使用内网地址,请确保在同一VPC内。
如果使用公网地址,需确保安全组规则允许相应的端口通信,详情请参见网络访问与安全设置。
<fe_query_port>
:Serverless StarRocks实例中FE的查询端口(默认为9030)。您可以在实例详情页面的FE详情区域查看。<database>
:Serverless StarRocks实例中的数据库名称。本文使用的是快速使用存算一体实例中创建的load_test数据库。
USER
Serverless StarRocks实例的用户名。默认提供admin用户,具有管理员权限。您也可以通过用户管理页面新增用户来连接。新增用户操作,请参见管理用户及数据授权。
PASSWORD
用户
USER
对应的密码。请确保密码的安全性。sql
SQL语句。本文使用的SQL语句示例基于快速使用存算一体实例中创建的
load_test
数据库中的insert_wiki_edit
表。
相关文档
您可以通过Serverless StarRocks提供的SQL Editor直接在Web界面编写、执行和管理SQL查询,以便高效地操作StarRocks实例,详情请参见通过EMR StarRocks Manager连接StarRocks实例。