xmysql 使用参考手册

xmysql 是一个基于 Node.js 和 Express 的工具,能够自动生成用于操作 MySQL 数据库的 REST APIs。无需关注命名约定,支持复合主键、CRUD、分页、排序、聚合等功能。本文档详细介绍了 xmysql 的安装、功能特性、API 概览及使用示例。
摘要由CSDN通过智能技术生成

一、前言

今天介绍一个Nodejs的不错的模块xmysql
xmysql 可以为 MySQL 数据库生成 REST APIs,然后通过Postman或其他方式访问这些APIs 来操作数据库(用在Postman脚本里就可以实现与MySQL的交互了())
xmysql 是基于 node packages : express, mysql
详情请参考:
xmysql GitHub官网
xmysql npm package

二、安装

xmysql 要求 node >= 7.6.0(node -v 查询node版本)
npm 命令安装 xmysql 模块

npm install -g xmysql

xmysql 命令连接 employees 数据库
(employees数据库请参考:MySQL 测试样例数据Employees

xmysql -u root -p 1234qwer -n 9966 -d employees

输出如下信息:
xmysql连接employees数据库信息

注意:
如果安装xmysql时,没加 -g 参数,仅本地安装,则 xmysql 命令在【应用目录】\node_modules.bin\xmysql 路径下;
需要先将当前工作目录切换到xmysql命令路径 ,如下cd F:\Chen\Nodejs\xmysql_demo\node_modules\.bin
然后再执行 xmysql -u root -p 1234qwer -n 9966 -d employees
xmysql命令位置

xmysql 命令参数说明:

Usage: index [options]
Options:
  -V, --version            output the version number
  -h, --host <n>           hostname of database / localhost by default
  -u, --user <n>           username of database / root by default
  -p, --password <n>       password of database / empty by default
  -d, --database <n>       database schema name
  -r, --ipAddress <n>      IP interface of your server / localhost by default
  -n, --portNumber <n>     port number for app / 3000 by default
  -o, --port <n>           port number for mysql / 3306 by default
  -S, --socketPath <n>     unix socket path / not used by default
  -s, --storageFolder <n>  storage folder / current working dir by default / available only with local
  -i, --ignoreTables <n>   comma separated table names to ignore
  -a, --apiPrefix <n>      api url prefix / "/api/" by default
  -y, --readOnly           readonly apis / false by default
  -c, --useCpuCores <n>    use number of CPU cores (using cluster) / 1 by default
  -h, --help               output usage information

说明:
1)-V,–version 我本地输出是 undefined;
2)最后一行的 -h 参数,与第2行的 -h 参数冲突了,可以使用 --help 查看帮助信息

三、功能特性

参考:features

  • 为任何 MySql数据库生成API
  • 提供API,而无需考虑主键、外键、表等的命名约定
  • 支持复合主键
  • REST API 常用:CRUD、List、FindOne、Count、Exists、Distinct
  • 批量插入、批量删除、批量读取
  • 关联
  • 分页
  • 排序
  • 列筛选-Fields
  • 行筛选-Where
  • 聚合函数
  • 分组,具有(作为查询参数)
  • 分组,拥有(作为一个单独的API)
  • 一个API中包含多个分组
  • 数字列的图表API
  • Auto Chart API-(在原型设计时送给懒惰的人的礼物)
  • XJOIN-(支持任意数量的JOIN)
  • 支持视图
  • 原型(仅在使用本地MySql服务器时提供功能)
    • 运行动态查询
    • 上载单个文件
    • 上载多个文件
    • 下载文件
  • 运行状况和版本api
  • 使用多个CPU内核

四、API 概览

参考:api-overview
api-overview

五、使用示例

接下来以 Employees 数据库为例
(employees数据库请参考:MySQL 测试样例数据Employees

1. 获取所有APIs

GET http://localhost:9966

2. 查询数据列表

GET http://localhost:9966/api/departments

3. 新增1条记录 POST

POST http://localhost:9966/api/departments
{"dept_no":"d010","dept_name":"test post"}

对应SQL:

INSERT INTO `departments` SET `dept_no` = 'd010', `dept_name` = 'test post'

4. 查询1条记录 GET

通过主键查询数据记录

GET http://localhost:9966/api/departments/d010

5. 更新1条记录 PUT

替换已存在的数据记录

PUT http://localhost:9966/api/departments
{"dept_no":"d010","dept_name":"test put"}

对应SQL:

REPLACE INTO `departments` SET `dept_no` = 'd010', `dept_name` = 'test put'

6. 更新1条记录 PATCH

通过主键更新数据记录

PATCH http://localhost:9966/api/departments/d010
{"dept_name":"test put"}

对应SQL:

UPDATE `departments` SET dept_name = 'test put'  where dept_no = 'd010'

7. 删除1条记录 DELETE

通过主键删除数据记录

DELETE http://localhost:9966/api/departments/d010

8. 批量新增

批量新增数据,请求体body是 对象数组

POST http://localhos
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小青龍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值