ITPub博客

首页 > 数据库 > 国内数据库 > 【手摸手玩转 OceanBase 12】Java 应用程序如何连接 OceanBase ?

【手摸手玩转 OceanBase 12】Java 应用程序如何连接 OceanBase ?

原创 国内数据库 作者:13579NB232 时间:2023-01-18 17:48:46 0 删除 编辑

OceanBase 数据库支持通过 MySQL 官方 JDBC 驱动连接。

前提条件

  • 确保计算机上的 Java 环境为 Java JDK 8 及以上版本。

  • 安装 MySQL Connector/J,并配置运行环境。

    推荐使用 MySQL Connector/J 5.1.47 版本。详细的下载及安装方法,请参考  Connector/J Downloads、 Connector/J Installation 。

连接 OceanBase 数据库

下文以 Linux 中通过 Java 驱动  Connector/J 5.1.47 连接数据库为例。

在正确安装 MySQL Connector/J 5.1.47 驱动并配置环境之后,可以通过以下  Test.java 文件的示例代码进行数据库连接。

注意

如果是 MySQL Connector/J 8.x 版本, Class.forName("com.mysql.jdbc.Driver") 中的  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://172.30.xx.xx:2883/test?user=r***&password=");
                System.out.println(connection.getAutoCommit());
                Statement sm = connection.createStatement();
                //执行删除表、新建表、插入数据等操作。
                String q1="drop table if exists t_meta_form";
                sm.executeUpdate(q1);
                String q2="CREATE TABLE t_meta_form ( name varchar(36) NOT NULL DEFAULT ' ', id int NOT NULL ) DEFAULT CHARSET = utf8mb4";
                String q3="insert into t_meta_form (name,id) values ('an','1')";
                sm.executeUpdate(q2);
                sm.executeUpdate(q3);                  
            }catch(SQLException se){
                System.out.println("error!");
                se.printStackTrace() ;
            }
            }catch (Exception ex) {
                ex.printStackTrace();
            }
    }
}

参数说明:

connection = DriverManager.getConnection("jdbc:mysql://{hostname}:{port}/{dbname}?user={username}&password={password}")
  • hostname:OceanBase 数据库连接 IP,通常是一个 OBProxy 地址。

  • port:OceanBase 数据库连接端口,也是 OBProxy 的监听端口,默认是 2883,可以自定义。

  • dbname:需要访问的数据库名称。

  • username:租户的连接账户,MySQL 模式的租户管理员用户名默认是  root。

  • password:账户密码。

示例: jdbc:mysql://172.30.xx.xx:2883/test?user=r***&password=***1**

代码编辑完成后,可以通过如下命令进行编译和执行,返回 true 说明数据库连接成功。

//手动添加驱动到环境配置,根据 mysql-connector-java-5.1.47.jar 实际安装路径填写
export CLASSPATH=/usr/share/java/mysql-connector-java-5.1.47.jar:$CLASSPATH
//编译
javac Test.java
//运行
java Test


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932656/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-01-18

  • 博文量
    184
  • 访问量
    93233