您的位置:  首页 > 技术 > 数据库 > 正文

openGauss数据库JDBC环境连接配置(Eclipse)

2022-05-31 12:00 https://my.oschina.net/gaussdb/blog/5533526 Gauss松鼠会 次阅读 条评论

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驱动并解压

下载地址:https://opengauss.obs.cn-south-1.myhuaweicloud.com/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”

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

-- 检查客户端运行结果

--检查数据库数据变化

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

 

 

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接