Java 应用程序连接 OceanBase 数据库
原创
©著作权归作者所有:来自51CTO博客作者mb6397f33d11b05的原创作品,请联系作者获取转载授权,否则将追究法律责任
OceanBase 数据库支持通过 MySQL 官方 JDBC 驱动连接。
前提条件
连接 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