【第四届openGauss征文活动参赛作品】使用JDBC连接openGauss数据库
收藏回复举报
【第四届openGauss征文活动参赛作品】使用JDBC连接openGauss数据库
发表于2022-11-08 19:35:10
0 查看

1.基于JDBC连接openGauss

1)准备java环境

  下载安装jdk1.8,我这里是jdk-16.0.1

配置环境变量:

  我的电脑——>属性——>高级系统设置——>环境变量

  系统环境变量:JAVA_HOME:D:\Program Files\Java\jdk-16.0.1

  Path:增加:%JAVA_HOME%\bin

  CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

打开控制台(win+r——>输入cmd),查看jdk版本:

2)在linux中下载openGauss jdbc驱动程序,并解压,或者直接在windows中下载解压,也是可以的:

[root@OG1 ~]# wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.1.0/x86/openGauss-2.1.0-JDBC.tar.gz
[root@OG1 ~]# tar -zxvf openGauss-2.1.0-JDBC.tar.gz 
postgresql.jar

#将jar包传送到windows宿主机
[root@OG1 ~]# sz postgresql.jar
复制

3)配置集成开发环境IntelliJ IDEA :

创建一个项目:openGauss

点击Project structure:配置jdk环境和openGauss JDBC驱动:

配置jdk环境:

配置jdbc jar包:

依次点击Libraries——>+号——>java——>然后选择jar的存放位置,

4)配置客户端接入认证:

因为虚拟主机采用的是NAT模式上网,所以它与windows宿主机之间是通过VMnet8虚拟网卡进行通信的。此时VMnet8的IP地址为:10.0.0.1:

允许zb用户通过这个主机进行远程连接数据库test:

[omm@OG1 ~]$ gs_guc reload -N all -I all -h "host test zb 10.0.0.1/24 sha256"
复制

5)连接数据库(不使用ssl方式连接)

在项目下创建一个测试类:右键src——>new——>java class:Jdbc_con

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class Jdbc_con {

    public static void main(String args[]) {
        Connection conn1 = getConnect("zb","Test@123");
        try {
            conn1.close();
            System.out.println("Disconnect succeed!!");
        }catch(Exception e){
            e.printStackTrace();
        }

    }
    //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
    public static Connection getConnect(String username, String passwd){
        //驱动类
        String driver = "org.postgresql.Driver";
        //数据库连接描述符
        String sourceURL = "jdbc:postgresql://10.0.0.100:15400/test";
        Connection conn = null;
        try {
            //加载驱动
            Class.forName(driver);
        }
        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;
    }

    // 以下代码将使用Properties对象作为参数建立连接
    public static Connection getConnectUseProp(String username, String passwd){
        //驱动类
        String driver = "org.postgresql.Driver";

        //数据库连接描述符
        String sourceURL = "jdbc:postgresql://10.0.0.100:15400/test?";
        Connection conn = null;
        Properties info = new Properties();

        try {
            //加载驱动
            Class.forName(driver);
        } catch(Exception e) {
            e.printStackTrace();
            return null;
        }

        try {
            info.setProperty("user",username);
            info.setProperty("password",passwd);
            //创建连接
            conn = DriverManager.getConnection(sourceURL, info);
            System.out.println("Connection succeed!");
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
        return conn;
    }
}

复制

执行代码测试连接:

表示连接成功!!

本帖最后由 匿名用户2023/11/20 15:57:16 编辑

我要发帖子