openGauss数据库JDBC环境连接配置(Eclipse)

时间:2021-02-05 01:06:44

测试环境

客户端系统:  Windows 10

客户端软件:  eclipse 2020-0 9

Server 操作系统: openEuler 20.03 64bit with ARM

Database 版本:  openGauss  2.0.0

作者:酷哥

1. 客户端安装配置 JDK 11

DOS 窗口输入 “java -version” ,查看 JDK 版本,确认为 JDK1 1 版本。如果未安装 JDK ,请  从官方网站下载安装包并安装。

根据如下步骤配置系统环境变量:

a.  右键单击 我的电脑 ,选择 属性

b.  系统 页面左侧导航栏单击 gaoji系统设置

c.  系统属性 页面, gaoji 页签上单击 环境变量

d.  环境变量 页面上, 系统变量 区域单击 新建 编辑 配置系统变量。变量说明请参  见表。

2. 下载 JDBC 驱动并解压

下载地址: https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/x86/openGauss-2.0.0-JDBC.tar.gz

3. 启动 eclipse ,新建工程并添加 JDBC 驱动

Create a java project

openGauss数据库JDBC环境连接配置(Eclipse)

Project name: openGauss-JDBC; JRE: JavaSE-11

openGauss数据库JDBC环境连接配置(Eclipse)

不需要创建“Don’t Create”

openGauss数据库JDBC环境连接配置(Eclipse)

创建一个lib目录在openGauss-JDBC项目下

openGauss数据库JDBC环境连接配置(Eclipse)

把jdbc驱动拷贝到lib下边

openGauss数据库JDBC环境连接配置(Eclipse)

openGauss数据库JDBC环境连接配置(Eclipse)

加载jdbc驱动

openGauss数据库JDBC环境连接配置(Eclipse)

“Add JARs”

openGauss数据库JDBC环境连接配置(Eclipse)

openGauss数据库JDBC环境连接配置(Eclipse)

在“Libraries”下,选中需要的postgresql.jar文件,然后“Apply and Close”

openGauss数据库JDBC环境连接配置(Eclipse)

Jdbc jar已经被正确加载,在“Referenced Libraries”下

openGauss数据库JDBC环境连接配置(Eclipse)

创建“Java Class”

openGauss数据库JDBC环境连接配置(Eclipse)

openGauss数据库JDBC环境连接配置(Eclipse)

拷贝准备的代码到java类中

openGauss数据库JDBC环境连接配置(Eclipse)

运行java类“Run as --》java application”

openGauss数据库JDBC环境连接配置(Eclipse)

openGauss数据库JDBC环境连接配置(Eclipse)

Tips:  此次使用 eclipse 2020-0 9   创建 JAVA Class

/*测试代码*/
package gaussjdbc;
//ogtest.java
//演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.CallableStatement;
public class Gaussjdbc {
//创建数据库连接。
public static Connection GetConnection(String username, String passwd) {
String driver = "org.postgresql.Driver";
String sourceURL = "jdbc:postgresql://122.9.34.186:26000/db_tpcc";
Connection conn = null;
try {
//加载数据库驱动。
Class.forName(driver).newInstance();
} catch (Exception e) {
e.printStackTrace();
return null;
}
try {
//创建数据库连接。
conn = DriverManager.getConnection(sourceURL, username, passwd);
System.out.println("Connection succeed!");
} catch (Exception e) {
e.printStackTrace();
return null;
}
return conn;
};
//执行普通SQL语句,创建customer_t1表。
public static void CreateTable(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
//执行普通SQL语句。
int rc = stmt
.executeUpdate("CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name VARCHAR(32));");
stmt.close();
} catch (SQLException e) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}
}
//执行预处理语句,批量插入数据。
public static void BatchInsertData(Connection conn) {
PreparedStatement pst = null;
try {
//生成预处理语句。
pst = conn.prepareStatement("INSERT INTO customer_t1 VALUES (?,?)");
for (int i = 0; i < 3; i++) {
//添加参数。
pst.setInt(1, i);
pst.setString(2, "data " + i);
pst.addBatch();
}
//执行批处理。
pst.executeBatch();
pst.close();
} catch (SQLException e) {
if (pst != null) {
try {
pst.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}
}
//执行预编译语句,更新数据。
public static void ExecPreparedSQL(Connection conn) {
PreparedStatement pstmt = null;
try {
pstmt = conn
.prepareStatement("UPDATE customer_t1 SET c_customer_name = ? WHERE c_customer_sk = 1");
pstmt.setString(1, "new Data");
int rowcount = pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}
}
/**
* 主程序,逐步调用各静态方法。
* @param args
*/
public static void main(String[] args) {
//创建数据库连接。
Connection conn = GetConnection("joe", "Bigdata@123");
//创建表。
CreateTable(conn);
//批插数据。
BatchInsertData(conn);
//执行预编译语句,更新数据。
ExecPreparedSQL(conn);
//关闭数据库连接。
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

4. 测试示例代码

5. 检查运行结果

--  检查客户端运行结果

-- 检查数据库数据变化

代码成功运行,且数据库数据变更正常,即连接环境配置完毕。