---
title: 搭建基于 openGauss 的 Java 开发环境-官方技术文章-TaiShan Community
description: 本文主要向大家介绍基于 openGauss 的 Java 开发环境搭建篇。
keywords: 搭建基于,Gauss,Java,开发环境,官方技术文章,TaiShan,Community,经济实惠
url: https://www.hikunpeng.com/developer/techArticles/20231120-10?envFlag=1
section: (其他)
---

# 搭建基于 openGauss 的 Java 开发环境-官方技术文章-TaiShan Community

URL: https://www.hikunpeng.com/developer/techArticles/20231120-10?envFlag=1
描述: 本文主要向大家介绍基于 openGauss 的 Java 开发环境搭建篇。
关键词: 搭建基于,Gauss,Java,开发环境,官方技术文章,TaiShan,Community,经济实惠

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

搭建基于 openGauss 的 Java 开发环境

搭建基于 openGauss 的 Java 开发环境

实战经验

Released 2023/11/10

0

最近我们团队在新的项目中选择了开源数据库 openGauss 取代原来的 MySQL，经过一段时间的开发和使用,对于 openGauss 这个新一代开源数据库的优势有了更加深入的了解和认识。

关于openGauss的介绍：openGauss由华为发起开源，具有出色的性能、高可用、易管理和安全保障等优势。openGauss关系型数据库开启数据管理新纪元，SQL语句可以直接输入执行,也可以嵌入到其他语言的代码中调用,还可以通过API的方式使用。SQL语法规范保障跨平台兼容性，SQL从1986年的第一版标准发展至今,已形成完善的语法规范体系。是各大数据库厂商可以实现跨平台和语言环境的兼容性的基础。openGauss通过使用通用的SQL语言降低了编程门槛，完全兼容主流的SQL标准,助力用户轻松管理数据。

openGauss作为一款开源软件,可以免费使用,代码对所有人开放。用户可以根据需要下载并应用到实际场景, 而无需支付任何费用，用户可以自由访问openGauss的源代码，来研究其技术实现,或基于自己的需求进行修改优化。openGauss选择开源,就是为了让更多人受益,也为了建立一个可持续发展的开源数据库生态。我觉得这展现了openGauss“开源共生”的发展理念。在开源基石上，openGauss也一直为他的用户无私地提供着优质的服务。比如市场上的GBase 8c就是基于openGauss 3.0内核的多模多态分布式数据库，取得了良好的商业效果。openGauss 内核为上层数据库产品提供了极大的发挥空间，最新的openGauss更是升级到了5.1.0的版本。下面是我在开发使用过程中的一点心得：

## 经济实惠，安装便捷

相比商业闭源数据库，openGauss 完全开源可以大幅降低使用成本。首先是避免了高昂的 License 授权费用,对于许多初创公司和中小企业来说,这笔钱的节约效果非常明显。此外,借助开源社区的力量,也能显著减少软件的维护和运营成本。在安装方面这里以centos7.6版本安装为例子，在华为镜像网站（https://repo.huaweicloud.com/centos/7.6.1810/ [了解详情](https://repo.huaweicloud.com/centos/7.6.1810/)）下载7.6版本的镜像，为了保障开发环境性能的高可用，这里选择最小化安装，因为是最小化的环境，当然需要开启sshd（service sshd start），和防火墙(systemctl firewall stop)等操作，然后安装openGauss所需要的软件环境，如python3.6等，在配置安装python之前安装下python3的依赖，通过以下命令：

```
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc
```

防止后续失败，如果没有wget的话建议也安装下yum -y install wget，这样通过命令下载wgethttps://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz [了解详情](https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz)下载安装包较为方便，然后就是解压编译安装了，这里不做过多的赘述，这里有俩个小细节在安装过程中需注意，就是系统yum可能默认是2.6以下的的版本，这里在通过软连接：

```
ln -s /usr/local/bin/python3.6 /usr/bin/python
```

指向pyhon3.6后，最好通过vi编辑器编辑一下

/usr/bin/yum和/usr/libexec/urlgrabber-ext-down的第一行代码，将python改为python2，这样输入python就能指向对应版本。希望这个小细节能给开发者一点tips。然后就是按照官方文档说明下载依赖，步骤如下：

### 1. 基础环境篇

```
yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel zlib readline bzip2 lrzsz
```

### 2. 创建用户篇

```
建用户 groupadd dbgrp >> useradd -g dbgrp -d /home/omm -m -s /bin/bash omm
```

如果之前没准备好，或者执行过上面这个命令可能遇到下面报错ERROR: the directory /usr/local/data/single_node must be dir and empty

看英文名称就懂了吧清空一下

在执行21，等待安装完成，行云流水，挥一挥衣袖不带走一片云彩

Waiting install

最后很友好的提示你Would you like to create a demo database (yes/no)? yesLoad demoDB [school,finance] success.27、看下数据库状态gs_ctl query -D /usr/local/data/single_node -Z single_node

## Navicat和开发环境搭建篇

用Navicat连接数据库，这里和posql一样改两个配置Vi postgresql.conf 找到下面俩个地方 可以/listen /password 看下，会sed，awk的大神这里忽略。

listen_addresses = '改成你安装数据库的ip' # what IP address(es) to listen on;

password_encryption_type = 0 #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only //这里改成0

VI pg_hba.conf 这里加上你数据库主机的ip和要连数据库的主机ip

# IPv4 local connections:

host    all             all             127.0.0.1/32            trust

host    all             all             192.168.229.129/32      md5（数据库服务器）

host    all             all             192.168.229.1/32        md5（Navicat安装主机）

改完配置文件要重启一下数据库 gs_ctl restart -D /usr/local/data/single_node

gsql -d postgres -p 5432 用gsql连接数据库建个用户，授权

openGauss=# create user nrxt with password "nrxt@1234" 出现以下提示

NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.CREATE ROLE

给用户授权：openGauss=# grant all privileges to nrxt 然后/q离开gsql控制台

打开安装Navicat的主机，选择postgrelsql，

这里建的表默认都是在public模式下，也可以通过语句自建模式，CREATE SCHEMA[＜模式名＞］AUTHORIZATION ＜用户名＞

配置一下maven pom.xml坐标，当然了也可以用官方jdbc的jar，通过mvn install:install-file -DgroupId=com.opengauss.XXXXX -DartifactId=opengauss-XXXXX -Dversion=0.4XXXXX -Dpackaging=jar -Dfile=/opengauss.jar 加入本地仓库，也可以直接引用postgresql的坐标，如下所示：

```
<!-- OpenGauss JDBC -->
```

在mybatis配置文件配上你的数据库信息

```
<!--
```

写个测试类，感受一下

```
public class Brand {
```

来个BrandMapper 接口根据id查询

再来个BrandMapper.xml

```
<select id="selectById" resultMap="brandResultMap">
```

开始测试写个测试类

```
public class openGaussTest {
```

查看控制台输出

```
[DEBUG] [main] o.a.i.t.j.JdbcTransaction - Setting autocommit to false on JDBC Connection [org.postgresql.jdbc.PgConnection@636be97c]
```

其他curd操作，就配置接口，原理类似，这里就过多赘述了。

## 功能齐全，强大好用

兼容性强openGauss实现了完整的容灾功能,支持同城和异地双机房的部署,以及多种故障快速Failover机制,确保核心业务数据的可用性。即使遭遇重大灾难,也能实现快速恢复,大幅降低企业应用的运维成本和数据丢失风险。

由于 openGauss 支持兼容 MySQL 的绝大部分语法,这让我们从 MySQL 迁移到 openGauss 变得非常简单顺畅。可以使用Navicat选择数据传输对数据源进行选择mysql和oracle都有较好的兼容，驱动这一块可以使用org.postgresql.Driver也可以使用org.opengauss.Driver。我们只需要很小的代码调整,就能完成快速无缝的迁移过程。没有遇到因数据库差异而导致的重构情况。得益于gsql，他不光有基本的的SQL操作,也具有一些高级功能。比如有变量、SQL代换、自定义提示符、命令自动补齐、客户端操作等。这些功能可以简化操作,提高工作效率。

openGauss实现了细粒度的访问控制、系统日志审计,以及关键文件完整性校验等安全机制,能有效防止数据被非法访问、修改或删除。它还支持数据传输和存储加密,让敏感信息更好地控制在合规范围内。用户端更是提供了很多管理的工具，对数据和系统环境进行监控。如gs_check系列工具，gs_check可以对数据库的运行环境、操作系统环境、网络环境等进行检查,这样在运行过程中也便于对发生的问题进行排查。gs_collector工具支持收集的系统表和视图列表，gs_dump导出数据库或表结构和数据,输出SQL脚本或归档文件，gs_restore从gs_dump生成的备份文件中恢复数据库。这些强大的工具都是openGauss强大功能的体现，可以帮助DBA或者开发人员更好的管理和维护openGauss数据库。掌握它们的使用可以事半功倍。

## 社区活跃,发展迅速

openGauss 也是一个活跃的开源社区,代码和功能持续更新,汇聚了众多开源爱好者的力量。这保障了其长期发展的生命力。社区贡献模块让更多的开发者找到自己的sig（Special Interest Groups），线上交流模块让开发者可以随时和官方大牛进行沟通，并且提供了邮件的联系地址。社区官网组织更是展现了很多参与openGauss专家学者级人物还有各个团队的主要组织成员都附上了联系方式，可以随时和他们保持沟通。用户实践展示了openGauss各个行业的解决方案，及时高效地解决了包括其他数据库不足给用户带来的痛点。相信随着时间推移,openGauss 会吸引更多企业用户和开发者。

总体来说,openGauss 在成本、迁移、性能、功能、社区等多方面为我们开发者带来实实在在的好处和支撑，服务响应也是非常及时。它不仅降低了我们的使用成本,也使我们的业务得到质的提升。我们相信 openGauss 对于我们developer来说将会是一个很好的长期合作数据库伙伴。

This Page
