1.测试环境
客户端系统:Windows 10
客户端软件:eclipse -09
Server操作系统:openEuler 20.03 64bit with ARM
数据库版本:openGauss 2.0.0
2.准备
2.1 PC端安装配置JDK11
DOS窗口输入“java -version”,查看JDK版本,确认为JDK11版本。如果未安装JDK,请
从官方网站下载安装包并安装。
根据如下步骤配置系统环境变量:
a. 右键单击“我的电脑“,选择“属性“。
b. 在“系统“页面左侧导航栏单击“高级系统设置“。
c. 在“系统属性“页面,“高级“页签上单击“环境变量“。
d. 在“环境变量“页面上,“系统变量“区域单击“新建“或“编辑“配置系统变量。
2.2下载JDBC驱动并解压
下载地址:-south-/2.0.0/x86/openGauss-2.0.0-JDBC.tar.gz
3 进行eclipse配置
启动eclipse,新建工程并添加JDBC驱动
Project name: openGauss-JDBC; JRE: JavaSE-11
不需要创建“Don’t Create”
创建一个lib目录在openGauss-JDBC项目下
把jdbc驱动拷贝到lib下边
加载jdbc驱动
“Add JARs”
在“Libraries”下,选中需要的postgresql.jar文件,然后“Apply and Close”
Jdbc jar已经被正确加载,在“Referenced Libraries”下
创建“Java Class”
拷贝准备的代码到java类中
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();}}}
运行java类“Run as -->java application”
测试示例代码&检查运行结果
-- 检查客户端运行结果
--检查数据库数据变化
代码成功运行,且数据库数据变更正常,即连接环境配置完毕。