首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >sqlrest 将SQL操作转化为RESTful接口

sqlrest 将SQL操作转化为RESTful接口

原创
作者头像
保持热爱奔赴山海
发布2025-08-05 21:07:35
发布2025-08-05 21:07:35
1.2K0
举报
文章被收录于专栏:DevOpsDevOps数据库相关

sqlrest工具和postgrest有点类似,都是将数据库的sql转为restful方式。

sqlrest的优势是支持多种数据源,缺点是配置上比postgrest稍微复杂点,postgrest基本上不需要额外的配置就可以支持各个表的curd操作。

sqlrest 项目地址: https://gitee.com/dromara/sqlrest

SQLREST 是一个开源项目,旨在提供一种简单而强大的方式来将 SQL 操作转化为 RESTful API。它支持多种数据库,允许用户通过配置 SQL 语句来创建 API,无 需编写复杂的后端逻辑,用户只需选择数据源、输入SQL或脚本、简单path配置即可快速生成API接口。

SQLREST的功能包括:

  • SQL直接构建API:通过配置增删改查SQL和参数即可生成 RESTful API。
  • 多数据库支持:支持常见的20+种数据库,其中包含多款国产数据库。
  • MyBatis语法支持:支持MyBatis的动态SQL语法。
  • Groovy脚本支持:支持groovy语法构建复杂场景下的接口。
  • 参数类型支持:支持整型/浮点型/时间/日期/布尔/字符串/对象等多种类型。
  • ContentType支持:支持application/x-www-form-urlencoded及application/json等多种请求格式。
  • 身份认证支持:提供基于 Token 的认证机制,保护 API 安全。
  • Swagger在线文档:支持自动生成swagger-ui的在线接口文档。
  • 缓存配置支持:支持 Hazelcast 和 Redis 缓存,提升 API 访问性能。
  • 流控配置管理:通过 Sentinel 支持流量控制,防止系统过载。
  • 统一告警对接:支持统一告警系统的对接与触发。
  • 大模型MCP服务:支持简单配置即可创建MCP的tool。

SQLREST作为微服务架构下的数据访问中间件,适合以下场景:

  • 快速将 SQL 转换为 API
  • 企业级数据库访问统一接口
  • API 访问控制与流控
  • 适用于数据中台、BI 工具、低代码平台等

环境

代码语言:txt
复制
JDK:>=1.8 (建议用JDK 1.8)
maven:>=3.6

编译安装

代码语言:txt
复制
git clone https://gitee.com/inrgihc/sqlrest.git
cd sqlrest/
sh ./build.sh

编写配置文件

代码语言:txt
复制
$ cat config.ini 
# manager节点的host地址
MANAGER_HOST=192.168.3.14


# manager的端口号
MANAGER_PORT=8090

# executor的端口号
EXECUTOR_PORT=8092

# gateway的端口号
GATEWAY_PORT=8091


# 数据库类型:mysql或postgres
DB_TYPE=mysql

# mysql的host地址
MYSQLDB_HOST=192.168.3.14
# mysql的端口号
MYSQLDB_PORT=3306
# mysql的库名
MYSQLDB_NAME=sqlrest
# mysql的账号
MYSQLDB_USERNAME=dts
# mysql的密码
MYSQLDB_PASSWORD=dts

# pgsql的host地址
PGDB_HOST=192.168.31.57
# pgsql的端口号
PGDB_PORT=5432
# pgsql的库名
PGDB_NAME=sqlrest
# pgsql的账号
PGDB_USERNAME=postgres
# pgsql的密码
PGDB_PASSWORD=123456

启动

代码语言:txt
复制
启动manager服务:sh bin/sqlrestctl.sh start manager
启动executor服务:sh bin/sqlrestctl.sh start executor
启动gateway服务:sh bin/sqlrestctl.sh start gateway

访问

启动完成后,访问 http://192.168.3.14:8090/

登陆账号:admin登陆密码:123456

使用上sqlrest还是很简单的,简单配置下如下:

根据id更新数据

根据id查询数据

更复杂的写法,可以使用Groovy语法来写,具体请参考官方文档。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档