开篇寄语
前两天,伯衡君分享了如何利用Node.js来操作数据库,和Node.js来生成API,具体可以参看下方的前情提要。本篇文章,咱们来把三者结合起来,使用Mysql,Node.js来生成API,让我们尝试构建一个 RESTful API 来对 MySQL 数据库执行 GET 操作,非常简单哦,请看实例。
前情提要
准备要素
- 本机安装node.js,未安装的朋友可以前往node.js官网安装,然后依次安装express依赖和mysql依赖包
- 本机有一个比较趁手的编辑器,比如伯衡君就是使用的 VS Code
- 本机安装有MySQL,并建议安装MySQL Workbench
- 本机安装POSTMAN,方便调试结果
内容详情
打开编辑器,之后新建一个项目,在项目中新建一个js文件,命名为demo.js,在链接数据库之前,请前往Workbench输入代码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your new password';
主要是避免出现‘NodeJS MySQL Client does not support authentication protocol’错误,如下图所示:
运行后,打开编辑器,在demo.js文件放入以下代码:
// Importing the packages required for the project. const mysql = require('mysql'); const express = require('express'); var app = express(); // Used for sending the Json Data to Node API app.use(express.json()); // Connection String to Database var mysqlConnection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'your password', //请与上一步在数据库设置的密码相同 port: '3306' }); // To check whether the connection is succeed for Failed while running the project in console. mysqlConnection.connect((err) => { if (!err) { console.log("Db Connection Succeed"); } else { console.log("Db connect Failed \n Error :" + JSON.stringify(err, undefined, 2)); } }); // To Run the server with Port Number app.listen(3000, () => console.log("Express server is running at port no : 3000")); // CRUD Methods //Get all Employees app.get('/example', (req, res) => { mysqlConnection.query('SELECT * FROM demo.phones WHERE personID = 1', (err, rows, fields) => { if (!err) res.send(rows); else console.log(err); }) });
在terminal输入命令node demo.js后,前往POSTMAN就会出现对应的结果了,如下图所示:
如果想全部显示数据库该表格的所有内容,可以这样改写替换:
//Get all Employees app.get('/example', (req, res) => { mysqlConnection.query('SELECT * FROM demo.phones', (err, rows, fields) => { if (!err) res.send(rows); else console.log(err); }) });
生成结果就会变成如下图所示:
怎么样,是不是很简单?
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号