更新时间:2024-11-06 GMT+08:00

通过JDBC连接HTAP标准版实例

本章节介绍通过JDBC连接HTAP标准版实例的方法。

注意事项

目前HTAP实例只支持UTF-8字符集。

前提条件

  • 用户需要具备以下技能:
    • 熟悉计算机基础知识。
    • 了解Java编程语言。
    • 了解JDBC基础知识。
  • 下载官方MySQL或MariaDB的JDBC驱动。
  • 已创建标准版HTAP实例。
  • 添加依赖至pom.xml。
    <dependency>   
        <groupId>mysql</groupId>   
        <artifactId>mysql-connector-java</artifactId>   
        <version>5.1.47</version> 
    </dependency>
  • 通过JDBC连接HTAP数据库,代码中的JDBC链接格式如下:

    jdbc:mysql://<instance_ip>:<instance_port>/<database_name>

    参数

    说明

    <instance_ip>

    HTAP实例中FE节点的IP地址。若安装了Proxy,请使用Proxy的IP地址。

    <instance_port>

    HTAP实例端口,默认为3306。

    <database_name>

    请替换为连接实例使用的数据库名。

代码示例

代码示例如下(连接HTAP数据库的java代码):

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class JDBCTest {
    static final String IP = "*.*.*.*"; //实例的IP地址
    static final String USER = "***";           //用户名
    static final String PASS = "***";           //密码
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        String url = "jdbc:mysql://" + IP + ":3306";
        try {
            
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, USER, PASS);
            stmt = conn.createStatement();
            String sql = "show databases;";
            ResultSet rs = stmt.executeQuery(sql);
            int columns = rs.getMetaData().getColumnCount();
            for (int i = 1; i <= columns; i++) {
                System.out.print(rs.getMetaData().getColumnName(i));
                System.out.print("\t");
            }
            while (rs.next()) {
                System.out.println();
                for (int i = 1; i <= columns; i++) {
                    System.out.print(rs.getObject(i));
                    System.out.print("\t");
                }
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // release resource ....
        }
    }
}