openGauss数据库JDBC环境连接配置的详细过程(Eclipse)


Posted in Java/Android onJune 01, 2022

1.测试环境

客户端系统:Windows 10

客户端软件:eclipse 2020-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驱动并解压

下载地址:http://xiazai.3water.com/202206/yuanma/openGaussjdbc_jb51.rar

3 进行eclipse配置

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

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)

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”

openGauss数据库JDBC环境连接配置的详细过程(Eclipse)

测试示例代码&检查运行结果

-- 检查客户端运行结果

--检查数据库数据变化

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

openGauss数据库JDBC环境连接配置的详细过程(Eclipse)

到此这篇关于openGauss数据库JDBC环境连接配置(Eclipse)的文章就介绍到这了,更多相关openGauss数据库JDBC内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Java/Android 相关文章推荐
Java各种比较对象的方式的对比总结
Jun 20 Java/Android
springBoot基于webSocket实现扫码登录
Jun 22 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 Java/Android
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 Java/Android
Spring Boot 整合 Apache Dubbo的示例代码
Jul 04 Java/Android
java泛型通配符详解
Jul 25 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
java如何实现socket连接方法封装
Sep 25 Java/Android
springboot新建项目pom.xml文件第一行报错的解决
Jan 18 Java/Android
SpringBoot2零基础到精通之数据与页面响应
Mar 22 Java/Android
springcloud整合seata
May 20 Java/Android
SpringBoot深入分析讲解监听器模式下
Jul 15 Java/Android
Java中生成微信小程序太阳码的实现方案
Jun 01 #Java/Android
Java处理延时任务的常用几种解决方案
Java实现添加条码或二维码到Word文档
Jun 01 #Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 #Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 #Java/Android
利用正则表达式匹配浮点型数据
May 30 #Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 #Java/Android
You might like
其他功能
2006/10/09 PHP
一个更简单的无限级分类菜单代码
2007/01/16 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
python中解析json格式文件的方法示例
2017/05/03 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
python中线程和进程有何区别
2020/06/17 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
python中如何打包用户自定义模块
2020/09/23 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
代理协议书
2014/04/22 职场文书
教师党员个人自我评价
2015/03/04 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
深入理解go缓存库freecache的使用
2022/02/15 Golang