Java程序-OceanBase Connector/J 示例

环境:oceanbase 1-1-1集群,租户类型mysql

前提条件
1)确保计算机上的 Java 环境为 Java JDK 8 版本。
系统除了安装了 Java 运行环境(JRE),还要安装 Java 编译器(JDK)
# yum install java-1.8.0-openjdk-devel -y
# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
# javac -version
javac 1.8.0_262

2)获取 OceanBase Connector/J 驱动程序。

步骤一:获取数据库连接参数
[root@ocp ~]#  obclient -h192.192.103.125 -uroot@sys#test_cluster -P2883 -p -c -A
Enter password:
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 1358447
Server version: OceanBase_CE 4.2.4.0 (r100000082024070810-556a8f594436d32a23ee92289717913cf503184b) (Built Jul  8 2024 11:07:07)

Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

obclient(root@sys)[(none)]>

数据库连接参数包含了访问数据库所需的参数信息,在验证示例代码前,可通过数据库连接参数验证登录数据库,保证信息正确。

参数说明:
-h:OceanBase OBProxy连接的IP。
-P:OceanBase OBProxy连接端口,默认端口是 2883。
-u:租户的连接账号。
-p:账号密码。

步骤二:安装 OceanBase Connector/J 驱动

根据下载的实际文件版本,将 OceanBase Connector/J 的 JAR 包解压后放入本地 /usr/share/java 路径中,
$ mv ./oceanbase-client-2.4.0.jar /usr/share/java

然后设置临时环境变量。
$ export CLASSPATH=/usr/share/java/oceanbase-client-2.4.0.jar:$CLASSPATH

步骤三:编写示例代码
编写 Java 示例文件 Test.java,如下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;

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

            Class.forName("com.oceanbase.jdbc.Driver");
            Connection connection = DriverManager.getConnection("jdbc:oceanbase://192.192.103.125:2883/test_db?pool=false&user=root@test#test_cluster&password=Root_1234");
            System.out.println(connection.getAutoCommit());
            Statement sm = connection.createStatement();
            //新建表 t_meta_form
            sm.executeUpdate("CREATE TABLE t_meta_form (name varchar(36) , id int)");
            //插入数据
            sm.executeUpdate("insert into t_meta_form values ('an','1')");
            //查询数据,并输出结果
            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);
            }
            //删除表
            sm.executeUpdate("drop table t_meta_form");
        }catch (SQLException ex) {
            System.out.println("error!");
            ex.printStackTrace() ;
        }catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

如上,根据实际环境修改jdbc连接串参数信息。

步骤四:执行示例
代码编辑完成后,可以通过如下命令进行编译。
$ javac Test.java

编译完成后,运行代码。
$ java Test
获得如下结果,说明数据库连接成功,示例语句正确执行。
true
an,1
 

附件:测试JDBC的负载均衡

1)编辑Test.java代码,添加如下内容:

//显示当前连接的主机
            try (ResultSet rr = sm.executeQuery("SELECT host_ip()")) {
                if (rr.next()) {
                    System.out.println("Host IP: " + rr.getString(1));
                }
            }

2)重新编译

javac Test.java

3)执行多次,测试负载均衡功能

JDBC URL实现方式中的负载均衡策略有三种:RANDOM随机(默认),SERVERAFFINITY加权随机,ROTATION轮询。

#java Test

如上图所示,返回的数据库IP是随机的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king_harry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值