使用 MySQL 和 Node.js 构建 API

已收录   阅读次数: 818
2021-10-0914:05:27 发表评论
摘要

前两天,伯衡君分享了如何利用Node.js来操作数据库,和Node.js来生成API,具体可以参看下方的前情提要。本篇文章,咱们来把三者结合起来,使用Mysql,Node.js来生成API,让我们尝试构建一个 RESTful API 来对 MySQL 数据库执行 GET 操作,非常简单哦,请看实例……

分享至:
使用 MySQL 和 Node.js 构建 API

开篇寄语

前两天,伯衡君分享了如何利用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’错误,如下图所示:

使用 MySQL 和 Node.js 构建 API

运行后,打开编辑器,在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就会出现对应的结果了,如下图所示:

使用 MySQL 和 Node.js 构建 API

如果想全部显示数据库该表格的所有内容,可以这样改写替换:

//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);
    })
});

生成结果就会变成如下图所示:

使用 MySQL 和 Node.js 构建 API

怎么样,是不是很简单?

  • 我的微信
  • 微信扫一扫加好友
  • weinxin
  • 我的微信公众号
  • 扫描关注公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: