文章目录
- 前言
- 一、简介
- 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. 核心功能
- 数据源管理:支持多种数据库类型的数据源添加、修改、删除、启用/禁用,方便用户管理数据源。
- 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文件的目录