关键词:
使用JDBC连接数据库
文章目录
一、准备连接环境
1.修改数据库的pg_hba.conf文件
在GS_HOME中查找pg_hba.conf文件,本实验中数据库GS_HOME设置的为/gaussdb/data/db1,实际操作中GS_HOME地址可以查看安装时的配置文件:<PARAM name="dataNode1" value="/gaussdb/data/db1"/>
。
cd /gaussdb/data/db1
vi pg_hba.conf
输入“:90”找到对应位置,然后输入“i”切换到INSERT模式,将以下内容添加进pg_hba.conf文件,添加后按下“ECS”键,退出INSERT模式,输入“:wq”后回车保存。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.0.19/32 trust
host all all 0.0.0.0/0 sha256
# IPv6 local connections:
host all all ::1/128 trust
使用omm用户登陆,使用gs_ctl将策略生效
su - omm
gs_ctl reload -D /gaussdb/data/db1/
2.登陆数据库授权退出
使用omm用户登陆数据库给dbuser用户授权,并退出数据库
gsql -d postgres -p 26000 -r
alter role dbuser createrole createdb;
\\q
3.修改数据库监听地址
在GS_HOME中,本实验中数据库GS_HOME设置的为/gaussdb/data/db1
cd /gaussdb/data/db1
vi postgresql.conf
输入“:60”找到对应位置,然后输入“i”切换到INSERT模式,将listen_addresses的值修改成为*,修改后按下“ECS”键,退出INSERT模式,输入“:wq”后回车保存。
#listen_addresses = '192.168.0.19' # what IP address(es) to listen on;
listen_addresses = '*'
修改完成后重启数据库生效(-D后面的数据库默认路径,需要根据实际情况进行修改)
gs_ctl restart -D /gaussdb/data/db1/
4.下载Java驱动包导入工具
下载Java连接openGauss的驱动包,并将其导入对应的使用工具
通过以下链接,下载驱动包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/arm/openGauss-1.1.0-JDBC.tar.gz
假设文件存放在d:\\Download目录下,并进行解压,解压后文件为“postgresql.jar”。
5.创建测试数据库demo
使用gsql工具登陆数据库,并输入dbuser密码(如:Gauss#3demo)
gsql -d postgres -p 26000 -U dbuser -r
创建数据库demo
create database demo ENCODING 'UTF8' template = template0;
切换到demo数据库,并输入dbuser密码(如:Gauss#3demo)。
\\connect demo;
6.创建schema
创建名为demo的schema,并设置demo为当前的schema。
CREATE SCHEMA demo;
将默认搜索路径设为demo。
SET search_path TO demo;
7.创建测试表websites
CREATE TABLE websites (
id int NOT NULL,
name char(20) NOT NULL DEFAULT '',
url varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (id)
);
COMMENT ON COLUMN websites.name IS '站点名称';
8.插入数据
INSERT INTO websites VALUES
('1', 'openGauss', 'https://opengauss.org/zh/'),
('2', '华为云', 'https://www.huaweicloud.com/'),
('3', 'openEuler', 'https://openeuler.org/zh/'),
('4', '华为support中心', 'https://support.huaweicloud.com/');
9.退出数据库
\\q
二、确定26000端口是否放开
-
打开华为云首页,登录后进入“控制台”,点击“弹性云服务器ECS”进入ECS列表
-
在云服务器控制台找到安装数据库主机的ECS,点击查看基本信息,找到安全组
-
点击进入安全组,选择“入方向规则”并“添加规则”,进行26000端口设置
确定后,可以看到入网规则多了“TCP:26000”,如下图:
三、下载并安装JDK
-
下载JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html -
点击jdk-8u261-windows-x64.exe进行安装
默认设置即可,出现安装进度
如下显示表示安装成功:
-
查看安装目录
四、配置JDK环境变量
-
右击“此电脑”选择“属性”,点击“高级系统设置”
-
点击“环境变量”,新建系统变量“JAVA_HOME”,输入JDK安装目录
“C:\\Program Files\\Java\\jdk1.8.0_261”为JDK安装目录。 -
编辑系统变量“path”
在变量值最后输入 %JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)。 -
新建系统变量“CLASSPATH”变量,输入“.” 即可
-
系统变量配置完毕,查询检验是否配置成功,运行cmd 输入java -version(java和 -version之间有空格)。
java -version
显示版本信息,则说明安装和配置成功
五、连接openGauss并执行java代码
(1)使用Java程序连接数据库并进行查询
步骤 1使用Java程序连接数据库并进行查询(注:请用户根据实际情况替换红字内容,修改jdbc:postgresql://弹性公网IP:26000/demo中弹性公网IP信息,USER = "dbuser"连接数据库的用户及密码PASS = “Gauss#3demo”)。
在d:\\Download\\中创建openGaussDemo.java文件,文件内容如下,注意红字部分要按照实际情况进行替换:
import java.sql.*;
public class openGaussDemo
static final String JDBC_DRIVER = "org.postgresql.Driver";
static final String DB_URL = "jdbc:postgresql://弹性公网IP:26000/demo?ApplicationName=app1";
// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "dbuser";
static final String PASS = "Gauss#3demo";
public static void main(String[] args)
Connection conn = null;
Statement stmt = null;
try
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
System.out.println(" 实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, url FROM demo.websites";
ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库
while(rs.next())
// 通过字段检索
int id = rs.getInt("id");
String name = rs.getString("name");
String url = rs.getString("url");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", 站点名称: " + name);
System.out.print(", 站点 URL: " + url);
System.out.print("\\n");
// 完成后关闭
rs.close();
stmt.close();
conn.close();
catch(SQLException se)
// 处理 JDBC 错误
se.printStackTrace();
catch(Exception e)
// 处理 Class.forName 错误
e.printStackTrace();
finally
// 关闭资源
try
if(stmt!=null) stmt.close();
catch(SQLException se2)
// 什么都不做
try
if(conn!=null) conn.close();
catch(SQLException se)
se.printStackTrace();
System.out.println("Goodbye!");
(2)编译后执行
在安装Java的本机,打开cmd对Java程序编译后执行
在cmd中,进入d:\\Download\\目录,先对Java程序进行编译(进入Java程序的目录)
javac -encoding utf-8 -cp d:\\Download\\postgresql.jar openGaussDemo.java
java -cp .;D:/Download/postgresql.jar openGaussDemo
(3)执行结果
连接数据库...
实例化Statement对象...
ID: 1, 站点名称: openGauss, 站点 URL: https://opengauss.org/zh/
ID: 2, 站点名称: 华为云, 站点 URL: https://www.huaweicloud.com/
ID: 3, 站点名称: openEuler, 站点 URL: https://openeuler.org/zh/
ID: 4, 站点名称: 华为support中心, 站点 URL: https://support.huaweicloud.com/
Goodbye!
2021软件创新实验室暑假集训jdbc(原理使用以及实现简单的数据库连接池)(代码片段)
...#xff08;二)应用篇【2021软件创新实验室暑假集训】mysql数据库与简单sql语句的使用19级Java后端开发【2021软件创新实验室暑假集训】Spring框架【20 查看详情
2021软件创新实验室暑假集训jdbc(原理使用以及实现简单的数据库连接池)(代码片段)
系列文章目录20级Java篇【2021软件创新实验室暑假集训】计算机的起源与大致原理【2021软件创新实验室暑假集训】Java基础(一)【2021软件创新实验室暑假集训】Java基础(二)【2021软件创新实验室暑假集训】Java基... 查看详情
opengauss数据导入导出
...;nbsp;⚫用户可以通过以下方式执行INSERT语句直接向openGauss数据库写入数据: 使用openGauss数据库提供的客户端工具向openGauss数据库写入数据。 通过JDBC/ODBC驱动连接数据库执行INSERT语句向openGauss数据库写入数... 查看详情
数据库原理实验六——odbc/jdbc数据库编程(代码片段)
实验目的熟练掌握ODBC数据库访问技术和编程方法。掌握除ODBC外的其他数据库访问编程技术。实验内容这个实验首先需要配置ODBC数据源,以下是配置的流程首先在MySQL官网下载数据源驱动程序:下载地址注意选择64bit的... 查看详情
使用 JDBC 连接到 MySQL 数据库
】使用JDBC连接到MySQL数据库【英文标题】:ConnectingtoaMySQLDataBasewithJDBC【发布时间】:2014-10-2617:13:23【问题描述】:我有一个简单的代码需要连接到mysql数据库并执行查询。tryconn=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&... 查看详情
无法使用 jdbc 连接到 MS SQL 数据库
】无法使用jdbc连接到MSSQL数据库【英文标题】:UnabletoconnecttoMSSQLdatabaseusingjdbc【发布时间】:2014-03-2409:59:30【问题描述】:我正在尝试使用下面的jdbc连接到我的MSSQL2008数据库,但它给出了错误Class.forName("com.microsoft.sqlserver.jdbc.SQL... 查看详情
2021软件创新实验室暑假集训springmvc框架(设计原理简单使用源码探究)(代码片段)
...#xff08;二)应用篇【2021软件创新实验室暑假集训】mysql数据库与简单sql语句的使用【2021软件创新实验室暑假集训】JDBC(原理、使用以及实现简 查看详情
无法使用 JDBC 连接到远程 oracle 数据库
】无法使用JDBC连接到远程oracle数据库【英文标题】:can\'tconnecttoremoteoracledatabasewithJDBC【发布时间】:2016-12-0723:27:59【问题描述】:我似乎能够使用运行SQL命令行连接到(remote)oracle数据库,但不能使用JDBC。因此,假设服务器名称... 查看详情
使用 JDBC 连接到 MySQL 数据库时出现问题
】使用JDBC连接到MySQL数据库时出现问题【英文标题】:AproblemconnectingtoaMySQLDBusingJDBC【发布时间】:2011-05-2811:52:58【问题描述】:这是我尝试连接的方式:tryClass.forName("com.mysql.jdbc.Driver").newInstance();catch(Exceptione)thrownewDbConnectionExcep... 查看详情
使用 JDBC 连接到 PostgreSQL 数据库时选择角色
【中文标题】使用JDBC连接到PostgreSQL数据库时选择角色【英文标题】:SelectarolewhenconnectingtoaPostgreSQLdatabasewithJDBC【发布时间】:2017-12-1723:26:22【问题描述】:使用JDBC连接PostgreSQL数据库时如何选择角色?【问题讨论】:【参考方... 查看详情
java实验七——jdbc数据库使用(代码片段)
JDBC的使用实验结果1、数据查询2、数据插入3、数据修改4、数据删除源代码Main类,程序开始于执行Main类的main方法按参数查询:PreparedStatmentExecute按参数修改:PreparedStatementExcuteUpdate按参数删除:PreparedStatementExecuteD... 查看详情
如何使用 JDBC 连接到 Oracle 数据库 [重复]
】如何使用JDBC连接到Oracle数据库[重复]【英文标题】:HowtoconnecttoOracleDatabasewithJDBC[duplicate]【发布时间】:2021-11-1106:34:33【问题描述】:我正在使用Eclipse连接到远程数据库,详细信息如下:名称:MSbdd**主机名155.158.xxx.xx端口:152... 查看详情
尝试使用jdbc连接到javaderby数据库
我有以下代码:Connectionconn=null;Statementstmt=null;//MySQLconnectiondetails.Stringusername=("username");Stringpassword=("password");Stringurl=("jdbc:derby://localhost:1527/OnlineLibrary");try{//Connecttoda 查看详情
jdbc连接数据库实验报告
...目的1熟悉myeclipse的使用。2掌握MySQL的使用。3掌握jdbc连接数据库。二实验内容1在MySQL下创建一个数据库students,并创建表student_info。并且输入记录。2将mysql的jdbc的jar包导入myeclipse。3编写注册用户界面的代码login.jsp和insert_stu_1.jsp... 查看详情
猿创征文|使用docker部署opengauss国产数据库(代码片段)
猿创征文|使用Docker部署openGauss国产数据库一、openGauss介绍1.openGauss简介2.openGauss产品定位3.支持的架构和操作系统版本二、检查宿主机环境1.检查系统版本2.检查Docker状态三、下载openGauss镜像1.进入docker官方镜像仓库2.openGauss镜像介... 查看详情
如何使用 JDBC 连接到 SQL Server 2008 数据库?
】如何使用JDBC连接到SQLServer2008数据库?【英文标题】:HowdoIconnecttoaSQLServer2008databaseusingJDBC?【发布时间】:2011-01-2722:57:37【问题描述】:我在本地PC上安装了MSSQL2008,我的Java应用程序需要连接到MSSQL数据库。我是MSSQL的新手,我... 查看详情
使用不同的 jdbc 驱动程序连接到多个数据库
】使用不同的jdbc驱动程序连接到多个数据库【英文标题】:connectingtomultipledatabasesusingdifferentjdbcdrivers【发布时间】:2011-06-1816:28:01【问题描述】:我需要编写一个基于守护进程的Java进程(不是基于Web),它将连接到Oracle10G数据... 查看详情
java示例代码_使用JDBC通过数据库链接连接到远程数据库
java示例代码_使用JDBC通过数据库链接连接到远程数据库 查看详情