接口篇 – Java连接Greenplum

2023-03-20 00:00:00 专区 操作 连接 的是 驱动

Java作为当前使用普遍的开发语言,通过JDBC的方式连接Greenplum数据库。目前有两种JDBC连接包可以实现连接:一种是通过PostgreSQL的接口库连接,另一种就是官方partner提供的连接库(greenplum.jar),第二种专门针对Greenplum进行了优化,性能上稍优,下面针对这两种方式进行详细的介绍。

开源PostgreSQL JDBC连接Greenplum
首先需要到PostgreSQL的官网上下载与JDK版本对应的JDBC驱动。我这里下载的是与JDK 1.8对应的新版本jar包:postgresql-42.2.9.jar。

然后将jar包加载到对应的项目中,在如下代码中,主要的是驱动名称和连接URL地址。

Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://10.211.55.6:5432/postgres", "gpadmin1", "");
一个采用PG JDBC的建表操作示例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class PostgreSQLJDBC {
public static void main(String args[]) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql://10.211.55.6:5432/postgres", "gpadmin1", "");
c.setAutoCommit(false);
System.out.println("Opened database successfully");

stmt = c.createStatement();
String sql = "CREATE TABLE STUDENTS " +
"(ID TEXT PRIMARY KEY NOT NULL ," +
" NAME TEXT NOT NULL, " +
" SEX TEXT NOT NULL, " +
" AGE TEXT NOT NULL)";
stmt.executeUpdate(sql);
System.out.println("Table created successfully");

stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}

官方JDBC连接Greenplum
官方JDBC连接方式与上面操作步骤基本一致,首先需要到Pivotal的官网上下载与Greenplum版本对应的JDBC驱动。官方的驱动目前支持到JDK 8,JDBC功能支持到4.0版本。下载解压后的驱动名称有点长:PROGRESS_DATADIRECT_JDBC_DRIVER_PIVOTAL_GREENPLUM_5.1.4.000275.jar,我通常习惯将它改为:greenplum.jar,直接mv修改,方便后期维护jar包方便。

接下来也是将jar包加载到对应的项目中,在如下代码中,注意此时的驱动名称和连接URL地址与之前的PG驱动可不一样了。

Class.forName("com.pivotal.jdbc.GreenplumDriver");
c = DriverManager.getConnection("jdbc:pivotal:greenplum://10.211.55.6:5432;;DatabaseName=postgres", "gpadmin1", "");
一个采用GP JDBC的建表操作示例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class GreenplumJDBC {
public static void main(String args[]) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("com.pivotal.jdbc.GreenplumDriver");
c = DriverManager.getConnection("jdbc:pivotal:greenplum://10.211.55.6:5432;;DatabaseName=postgres", "gpadmin1", "");
c.setAutoCommit(false);
System.out.println("Opened database successfully");

stmt = c.createStatement();
String sql = "CREATE TABLE STUDENTS " +
"(ID TEXT PRIMARY KEY NOT NULL ," +
" NAME TEXT NOT NULL, " +
" SEX TEXT NOT NULL, " +
" AGE TEXT NOT NULL)";
stmt.executeUpdate(sql);
System.out.println("Table created successfully");

stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}

注意:如果要在同一个数据库中重复创建表,会报错:表students已存在,注意这不是例子有错误。再次执行例子之前请从数据库中先删除表。

其他的增删改查操作参考JDBC的标准操作即可,如有问题请留言交流。



本文来源:https://blog.csdn.net/chrisy521/article/details/121378488

相关文章