暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Gauss松鼠会|openGauss】 JDBC环境连接配置(Eclipse)

手机用户1297 2022-11-19
331

测试环境

客户端系统: Windows 10

客户端软件: eclipse 2020-09

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

Database版本: openGauss 2.0.0

作 者: 苑庆成

1.客户端安装配置JDK11

DOS窗口输入“java -version”,查看JDK版本,确认为JDK11版本。如果未安装JDK,请

从官方网站下载安装包并安装。

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

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

b. 在“系统“页面左侧导航栏单击“高级系统设置“。

c. 在“系统属性“页面,“高级“页签上单击“环境变量“。

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

见表。2.下载JDBC驱动并解压

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

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

Create a java project

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类中

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

Tips: 此次使用eclipse 2020-09 创建JAVA Class1 /*测试代码*/

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();

}

}

}

5.测试示例代码

6.检查运行结果

-- 检查客户端运行结果

--检查数据库数据变化

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论