低代码平台教你两步把SQL直接转换为RESTful API

文章目录

  • 前言
  • 一、简介
    • 1. 项目亮点
    • 2. 技术栈
    • 3. 核心功能
    • 4. 数据库设计
  • 二、搭建教程
    • 1. 目录结构
    • 2. 下载
      • 2.1 下载
      • 2.2 上传
      • 2.3 解压
    • 3. 配置
      • 3.1 创建并切换数据库
      • 3.2 执行sql文件
      • 3.3 修改配置文件
    • 4. 启动/停止
      • 4.1 启动
      • 4.2 停止
      • 4.3 重启
    • 5. 浏览器访问
  • 三、配置教程
    • 1. 数据源配置
      • 1.1 创建数据源
    • 2. API配置
    • 2.1 创建API
    • 2.2 SQL语句的写法
      • 2.2.1 固定写法
      • 2.2.2 动态写法
      • 2.2.3 动态参数写法
  • 总结


前言

在快速迭代的开发环境中,频繁的手动编写后端接口以满足前端数据需求成为一大痛点。为了解决这个问题,我们开发了一个项目,它能够将SQL直接转换为RESTful API,极大地提升了开发效率与灵活性。

声明:仅供个人研究使用。


一、简介

1. 项目亮点

  • 多数据源支持:支持MySQL、Oracle、SQL Server、Impala等数据库类型的数据源添加、修改、删除、启用/禁用。
  • 动态配置:用户可以根据需求动态配置API,包括选择数据源、请求方法、查询类型,输入SQL语句、请求路径等信息。
  • SQL即API的理念:用户只需编写SQL语句,即可一键生成API,无需编写繁琐的后端代码。
  • 前后端分离的现代化技术栈:采用Vue+ElementUI技术栈,实现前后端分离,提高开发效率和灵活性。

2. 技术栈

SQL2API项目采用以下技术栈:

  • jdk1.8
  • Spring Boot
  • MyBatis
  • Vue
  • Element UI
  • MySQL

3. 核心功能

  1. 数据源管理:支持多种数据库类型的数据源添加、修改、删除、启用/禁用,方便用户管理数据源。
  2. API管理:基于已添加的数据源,用户可以选择数据源、请求方法、查询类型,输入SQL语句、请求路径等信息,一键生成API。用户还可以对API进行添加、修改、删除、启用/禁用等操作。

4. 数据库设计

项目采用MySQL数据库,包含以下数据表:

  • datasource_config:存储数据源配置信息,包括数据源类型、主机、端口、数据库名称、连接URL、用户名、密码等。
  • api_config:存储API配置信息,包括API名称、HTTP方法、路径、SQL查询语句、返回结果类型、关联数据源ID、API状态等。
  • request_records:存储请求记录信息,包括调用的方法名称、响应状态码、请求方法、请求URL、请求IP、请求参数、请求执行时间等。
  • exception_log:存储异常日志记录,包括异常原因、简单异常信息、详细异常信息等。

二、搭建教程

1. 目录结构

├─bin		存放项目启/停脚本的目录
├─conf		存放配置文件的目录
├─lib		存放jar包的目录
├─log		存放日志文件的目录
├─pid		存放pid的文件目录
└─sql		存放sql文件的目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/857100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore

在 Java 中,synchronized 关键字和 java.util.concurrent 包中的同步工具都是用来控制多线程环境下的并发访问,以防止数据竞争和确保线程安全。下面是对 synchronized 关键字和 java.util.concurrent 包中的一些同步工具的讨论,包括它们的特点…

基于自适应融合和偏置消除的鲁棒松耦合视觉惯性里程计

预印本中文版论文 基于自适应融合和偏置消除的鲁棒松耦合视觉惯性里程计 Frank Fan1 电子邮件: fanzexuan135163.com 摘要 本文提出了一种新颖的松耦合视觉惯性里程计(VIO)算法,该算法解决了MEMS IMU中的显著偏置问题,并在具有挑战性的环境中提供了稳健的性能。我们的方法…

Leetcode Java学习记录——代码随想录哈希表篇

文章目录 哈希表几种哈希实现 Java数组HashSetmap方法charAt()toCharArray()for 遍历长度 哈希表 当需要快速判断一个元素是否出现在集合里的时候,就要用到哈希表。 无限循环就意味着重复出现。 几种哈希实现 数组:大小固定set:只存keymap…

美创科技入选“2024年度浙江省工业信息安全服务支撑单位”

近日,浙江省经济和信息化厅公布“2024年度浙江省工业信息安全服务支撑单位”名单。 经单位自愿申报、各市经信主管部门初审推荐、专家评审等环节,凭借在工业数据安全领域长期深耕和产品服务实力,美创科技成功入选! “2024年度浙江…

理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计

在与用户的交流中,我们发现对用户需求的精准洞察普遍困扰着产品经理、设计、企划人员,因为当今消费者行为已经由单品消费转向场景消费,千人千面的个性化需求出现,消费者数据维度极大丰富,这对把握用户体验造成了很大挑…

工具与技术:如何使用工具创建和实现导航栏图标动效

这篇教程的目的主要是带领大家做UI交互的入门引导,让大家理解做交互动效的一些基本逻辑思维,利用原型交互动画做导航栏icon动画效果。 导航栏icon动效的详细教程: 即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具&#x…

2024年道路运输企业主要负责人证模拟考试题库及道路运输企业主要负责人理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年道路运输企业主要负责人证模拟考试题库及道路运输企业主要负责人理论考试试题是由安全生产模拟考试一点通提供,道路运输企业主要负责人证模拟考试题库是根据道路运输企业主要负责人最新版教材&#…

【算法训练记录——Day32】

Day32——贪心算法Ⅱ 1.leetcode122买卖股票的最佳时机II2.leetcode55跳跃游戏3.leetcode45跳跃游戏II4.eetcode1005K次取反后最大化的数组和 目标: leetcode122买卖股票的最佳时机IIleetcode55跳跃游戏leetcode45跳跃游戏IIleetcode1005K次取反后最大化的数组和 1…

掌握数据魔方:Xinstall引领ASA全链路数据归因新纪元

一、引言 在数字化时代,数据是App推广和运营的核心驱动力。然而,如何准确获取、分析并应用这些数据,却成为了许多开发者和营销人员面临的痛点。Xinstall作为一款专业的App全渠道统计服务商,致力于提供精准、高效的数据解决方案&a…

MySQL中的客户端选项(三)

默认情况下,LOAD DATA的LOCAL功能是否可用取决于MySQL客户端库在编译时是否启用了该功能。 当只给出--local-infile(不带值)时,它启用LOCAL数据加载。当给出--local-infile0时,它禁用LOCAL数据加载。当给出--local-in…

工具分享:Search_Viewer

文章目录 前言Search_Viewer介绍安装方式使用方式 前言 本文推荐工具Search_Viewer,详细介绍其安装和使用方式。 Search_Viewer介绍 集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼、censys 为一体的空间测绘gui图形界面化工具,支持一键采…

CP AUTOSAR标准之LSduRouter(AUTOSAR_CP_SWS_LSduRouter)

1 简介和功能概述 本规范描述了AUTOSAR基础软件模块L-SDU路由器的功能、API和配置。L-SDU路由器模块使用以下模块类型提供路由L-SDU(链路层服务数据单元)的服务: 通信接口模块,使用 < Provider:Up > 或 < Provider:Lo > API,例如EthIf、IEEE1722Tp;L-SDU的路由…

2024数据库期末综合(第9关:索引)

第9关&#xff1a;索引&#xff08;注意看下面的温馨提示&#xff01;&#xff01;&#xff09; 任务描述 湖南人口hnpeople数据表结构如图所示&#xff0c;各字段含义如下 cs&#xff08;城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)…

标题:探索开源世界:2024年热门开源项目推荐

标题&#xff1a;探索开源世界&#xff1a;2024年热门开源项目推荐 在开源文化的推动下&#xff0c;开源项目已经成为技术创新和知识共享的重要平台。它们不仅为程序员提供了学习和交流的机会&#xff0c;也为整个行业带来了前所未有的活力。本文将推荐一些2024年值得关注的热…

PySide在QLabel上按住鼠标左键画方框

用于截图放大等 import sys from PySide6.QtWidgets import QApplication, QLabel, QMainWindow from PySide6.QtGui import QPixmap, QPainter, QPen, QColor from PySide6.QtCore import Qt, QRect, QPointclass ImageLabel(QLabel):def __init__(self, parentNone):super().…

在 Linux 中配置 SSH 连接的加密算法

需要对 OpenSSH 服务器和客户端进行相应配置。以下是具体步骤&#xff1a; 配置 OpenSSH 服务器的加密算法 1. 编辑 OpenSSH 服务器的配置文件&#xff1a; 打开 sshd_config 文件&#xff1a; sudo nano /etc/ssh/sshd_config2. 设置加密算法&#xff08;Ciphers&#xff…

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…

南卡、漫步者和Oladance开放式哪家强?无广避坑测评!

现在市面上的开放式耳机种类非常多&#xff0c;在购买的时候大多数人都没有非常确定的目标&#xff0c;这主要是因为大多数人对开放式耳机的认识程度不够。 作为一个有着多年数码产品测评经验的测评员&#xff0c;我刚好对开放式耳机也有比较深刻的理解&#xff0c;也借着大家…

策略模式:applicationContext.getBeansOfType()方法

applicationContext.getBeansOfType() 一般用来获取某个接口的所有实例Bean 方法定义如下&#xff1a; 入参一般是接口&#xff0c;即interface。响应是个Map结构&#xff0c;key bean在容器中的名称&#xff0c;value bean实列 开发步骤&#xff1a; 1.定义接口 2.定义…