JDBC连接GaussDB云数据库操作示例


风晓
风晓 2024-01-14 10:21:56 54337 赞同 0 反对 0
分类: 资源 标签: 国产数据库
JDBC连接GaussDB云数据库操作示例

一、实验环境

 

1、本地JDB版本:本实验版本:JDK版本:Java 11.0.17

(登录:https://www.oracle.com/java/technologies/downloads/#java11 ,选择对应jdk版本下载安装即可)

2、华为云环境:广州-友好用户环境,弹性公网

二、登录华为云创建测试库表

1、登录GaussDB云数据库

以IAM用户登录:

图片

依次进入:“服务列表——数据管理服务 DAS——开发工具——登录对应的实例”,如下图:

图片

点击测试连接,提示连接成功,点确认进入:

图片

2、建库、建表,用于测试

创建java_test库:

图片

创建customer_t1表:

CREATE TABLE customer_t1(

c_customer_id INTEGER

, c_customer_name VARCHAR(32)

);

图片

3、新增普通角色(用户)用于登录及访问测试(可选)

新增普通角色test_role,默认购选登录权限(赋权connect)

图片

赋予test_role查询表customer_t1的权限。

GRANT SELECT on public.customer_t1 TO test_role;

图片

(Tip: 测试时将java脚本中的连接用户名和秘密 替换成创建时设置的即可)

4、获取对应的公网IP

获取公网IP用于本地连接GaussDB云数据库:

图片

在本地测试ip 是否ping的通(win+r —— cmd —— ping ip):

图片

三、创建java工程

1、创建java工程

图片

2、添加jar包

1)下载并解压获取对应gsjdbc4.jar: https://dbs-download.obs.cn-north-1.myhuaweicloud.com/GaussDB/1660794000209/GaussDB_opengauss_client_tools.zip

2)在工程src目录下创建lib文件夹,并将解压后的gsjdbc4.jar复制粘贴到此目录

图片

3)手动将其添加到工程中

图片

图片

 

3、编辑Java代码

连接GaussDB云数据库、执行insert、update、select

package gaussdb_jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class GaussDB_jdbc {

static final String JDBC_DRIVER = "org.postgresql.Driver";

static final String DB_URL = "jdbc:postgresql://*.*.*.*:8000/java_test";

 

// 数据库的用户名与密码,需要根据自己的设置

static final String USER = "****";

static final String PASS = "****";

 

// 执行insert

public static void InsertData(Connection conn){

Statement stmt = null;

try {

stmt = conn.createStatement();

String sql;

sql = "INSERT INTO public.customer_t1(c_customer_id, c_customer_name) VALUES(1001,'张三');"

+ "INSERT INTO public.customer_t1(c_customer_id, c_customer_name) VALUES(1002,'李四');"

+ "INSERT INTO public.customer_t1(c_customer_id, c_customer_name) VALUES(1003,'王五');";

ResultSet rs = stmt.executeQuery(sql);

rs.close();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

// 执行update

public static void UpadteData(Connection conn){

Statement stmt = null;

try {

stmt = conn.createStatement();

String sql;

sql = "UPDATE customer_t1 SET c_customer_name ='jdbc' WHERE c_customer_id =1003 ";

ResultSet rs = stmt.executeQuery(sql);

rs.close();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

// 执行select

public static void SelectData(Connection conn){

Statement stmt = null;

try {

stmt = conn.createStatement();

String sql;

sql = "SELECT c_customer_id, c_customer_name FROM public.customer_t1";

ResultSet rs = stmt.executeQuery(sql);

 

// 展开结果集数据库

while(rs.next()){

// 通过字段检索

String column1 = rs.getString("c_customer_id");

String column2 = rs.getString("c_customer_name");

// 输出数据

System.out.print("c_customer_id: " + column1);

System.out.print(", c_customer_name: " + column2);

System.out.print("\n");

}

rs.close();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

 

public static void main(String[] args) {

// TODO Auto-generated method stub

// 打开链接

try {

System.out.println("连接数据库...");

Connection conn = DriverManager.getConnection(DB_URL,USER,PASS);

 

// 执行插入数据

InsertData(conn);

 

//执行更新数据

UpadteData(conn);

 

//执行查看

SelectData(conn);

 

conn.close();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

Tip:ip地址、用户及秘钥根据实际替换即可。

四、执行并查看测试结果

执行java脚本前的数据库表情况(0条记录):

图片

通过JAVA脚本访问GaussDB云数据库,并进行库表操作:

1)JAVA脚本执行情况:

图片

2)数据库表查询情况(插入三条记录,更新了一条记录):

图片

结论:以上结果均与GaussDB云数据端的数据完全匹配,测试结果正确,jdbc访问GaussDB顺利完成。

另,大家可以通过新增角色(或用户)进行测试,例如参考上文中的第二大点中的第3小点进行测试。本次实验到此结束,欢迎大家互动、交流!

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南  2057
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访?  1994
银河麒麟桌面操作系统【保留数据盘重装系统】  1804
麒麟系统各种原因开不了机解决(合集)  1587
桌面通用(全架构)【rpm包转成deb包】操作方法  931
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题  915
统信系统安装(合集)  853
统信桌面专业版【手动分区安装UOS系统】介绍  845
统启动异常几种类型(initramfs 模式)  688
最近下载排行榜
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南 0
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访? 0
银河麒麟桌面操作系统【保留数据盘重装系统】 0
麒麟系统各种原因开不了机解决(合集) 0
桌面通用(全架构)【rpm包转成deb包】操作方法 0
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题 0
统信系统安装(合集) 0
统信桌面专业版【手动分区安装UOS系统】介绍 0
统启动异常几种类型(initramfs 模式) 0
作者收入月榜
1

prtyaa 收益393.72元

2

zlj141319 收益220.97元

3

1843880570 收益214.2元

4

IT-feng 收益213.03元

5

风晓 收益208.24元

6

777 收益172.82元

7

Fhawking 收益106.6元

8

信创来了 收益105.89元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!