暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

openGauss/MogDB数据库支持R2DBC响应式协议访问

原创 多米爸比 2022-01-06
3203

我们知道使用JDBC协议是阻塞式的连接,为了解决这个问题,出现了两个标准,一个是oracle提出的 ADBC (Asynchronous Database Access API),另一个就是Pivotal提出的R2DBC (Reactive Relational Database Connectivity)。

目前有部分关系型数据库实现了R2DBC协议,包括mysql、mssql、postgresql等。openGauss/MogDB数据库兼容PostgreSQL R2DBC Driver,下面通过样例进行测试。

首先快速搭建MogDB环境

使用docker命令一键搭建

docker run --name mogdb \
--privileged=true \
--detach \
--env GS_PASSWORD=Admin@1234 \
--publish 15400:5432 \
swr.cn-east-3.myhuaweicloud.com/enmotech/mogdb:2.0.1_amd

数据库结构化准备

create database productdb;
\c productdb
create user moguser password 'Admin@1234';
\c productdb moguser

CREATE TABLE product
(
id integer,
description character varying(255),
price numeric,
PRIMARY KEY (id)
);

insert into product values(1,'PostgreSQL',0),
(2,'MogDB',1);

Java项目工程

参考如下链接:https://github.com/vinsguru/vinsguru-blog-code-samples/tree/master/r2dbc/crud

配置MogDB数据库连接信息

修改工程项目下的application.properties文件

spring.r2dbc.url=r2dbc:postgresql://192.168.137.227:15400/productdb
spring.r2dbc.username=moguser
spring.r2dbc.password=Admin@1234

运行程序进行测试

点击R2dbcApplication文件,Run As运行
image.png

然后我们可以打开浏览器,输入接口地址进行测试:
下面是查询所有产品(http://localhost:8080/product/all)
image.png

更多R2DBC用法可以参考github上pgjdbc/r2dbc-postgresql

最后修改时间:2022-10-22 12:46:13
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论