
开篇寄语
前两天,伯衡君分享了如何利用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);
})
});
生成结果就会变成如下图所示:

怎么样,是不是很简单?
- 我的微信
- 微信扫一扫加好友
-
- 我的微信公众号
- 扫描关注公众号
-





