openGauss資料庫JDBC環境連線配置(Eclipse)

小侃資料庫發表於2023-03-27

測試環境

客戶端系統:  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. 檢查執行結果

--  檢查客戶端執行結果

-- 檢查資料庫資料變化

程式碼成功執行,且資料庫資料變更正常,即連線環境配置完畢。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023856/viewspace-2941767/,如需轉載,請註明出處,否則將追究法律責任。

相關文章