龙空技术网

「实战」助力数据库开发之接口篇 - Java 连接 Greenplum

PieDB 1648

前言:

此时咱们对“java 数据库接口”都比较重视,你们都需要学习一些“java 数据库接口”的相关文章。那么小编在网络上汇集了一些对于“java 数据库接口””的相关资讯,希望咱们能喜欢,看官们快快来了解一下吧!


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", "");

一个采用 PostgreSQL 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", "");

一个采用 Greenplum 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的标准操作即可,如有问题请留言交流。



本系列开发语言连接 Greenplum 方法的文章到此结束了,如果有其他需求也请留言交流。

标签: #java 数据库接口