开箱即用的Node.js+Mysql模块封装实现详解

当我们开发Node.js后台应用时,常常需要使用数据库来存储和管理数据。而Mysql数据库是使用最广泛的关系型数据库之一。在Node.js中使用Mysql,需要使用mysql模块来连接Mysql数据库。但是,每次使用mysql模块时,都需要写很多重复的代码,包括连接数据库、执行sql语句等。为了提高开发效率,我们可以将这些常用的操作封装成一个模块,使得我们在使用时能够更加方便快捷。

以下是使用Node.js和Mysql封装一个模块的步骤:

步骤一:安装mysql模块

使用npm安装mysql模块:

npm install mysql --save

步骤二:创建db.js文件

在项目根目录下创建db.js文件,用于封装mysql模块的操作

const mysql = require("mysql");
const pool = mysql.createPool({
  host: "localhost",
  user: "root",
  password: "123456",
  database: "test"
});

let query = function(sql, values) {
  return new Promise((resolve, reject) => {
    pool.getConnection(function(err, connection) {
      if (err) reject(err);
      else {
        connection.query(sql, values, (err, rows) => {
          if (err) reject(err);
          else {
            resolve(rows);
          }
          connection.release();
        });
      }
    });
  });
};

module.exports = { query };

在上面的代码中,我们使用mysql模块创建了一个连接池,并通过Promise异步操作的方式封装了mysql的query方法。

步骤三:在业务模块中使用db.js文件

在业务模块中使用db.js文件中的query方法,如下:

const express = require("express");
const router = express.Router();
const db = require("../db");

router.get("/", async function(req, res) {
  try {
    let result = await db.query("SELECT * FROM users WHERE id=?", [1]);
    res.json(result);
  } catch (err) {
    console.error(err);
    res.status(500).send("服务器内部错误:" + err.message);
  }
});

module.exports = router;

在上面的代码中,我们在业务模块中引入了db.js文件,并使用await异步操作的方式调用了其中的query方法。

至此,一个开箱即用的Node.js+Mysql模块封装实现就完成了。

下面是示例说明:

示例一:查询用户列表

const express = require("express");
const router = express.Router();
const db = require("../db");

router.get("/", async function(req, res) {
  try {
    let result = await db.query("SELECT * FROM users");
    res.json(result);
  } catch (err) {
    console.error(err);
    res.status(500).send("服务器内部错误:" + err.message);
  }
});

module.exports = router;

在上面的代码中,我们在业务模块中调用了db.js文件中的query方法,查询了users表中的所有数据,并将查询结果以json格式返回。

示例二:添加用户

const express = require("express");
const router = express.Router();
const db = require("../db");

router.post("/", async function(req, res) {
  const { name, age, sex } = req.body;
  try {
    let result = await db.query("INSERT INTO users(name, age, sex) VALUES(?,?,?)", [name, age, sex]);
    res.json({ id: result.insertId });
  } catch (err) {
    console.error(err);
    res.status(500).send("服务器内部错误:" + err.message);
  }
});

module.exports = router;

在上面的代码中,我们在业务模块中调用了db.js文件中的query方法,向users表中添加了一条数据,并返回添加数据的id。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:开箱即用的Node.js+Mysql模块封装实现详解 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 我的Node.js学习之路(四)–单元测试

    下面是我的Node.js学习之路(四)–单元测试的完整攻略: 1. 什么是单元测试? 单元测试是针对软件系统中的最小可测试单元进行验证和检验的过程。在Node.js中,单元通常是指一个函数、一个方法或者一个模块。 单元测试的目的是在代码实现之前或者之后,尽早地发现代码中的问题,使得我们能够及早地进行修改和优化。通过单元测试,我们可以确保代码在各种情况下都能…

    node js 2023年6月8日
    00
  • nodejs使用http模块发送get与post请求的方法示例

    下面我会详细讲解“nodejs使用http模块发送get与post请求的方法示例”的完整攻略,包含以下内容: 使用http模块发送GET请求的方法示例 使用http模块发送POST请求的方法示例 使用http模块发送GET请求的方法示例 GET请求是最常用的HTTP请求之一,通常用于获取某个资源的信息,下面是一个使用Node.js的http模块发送GET请求…

    node js 2023年6月8日
    00
  • 从0搭建vue-cli4脚手架

    下面详细讲解从0搭建vue-cli4脚手架的完整攻略。 简介 Vue.js是一个渐进式JavaScript框架,旨在实现简单、易学、高效、灵活的开发方式。Vue-cli是vuejs官方提供的一个基于Webpack的脚手架工具,可以快速搭建SPA应用程序的基本开发框架,是Vuejs的标准构建工具,也是Vue项目开发的标配。 本文将详细讲述如何从0开始搭建Vue…

    node js 2023年6月8日
    00
  • 使用vs code开发Nodejs程序的使用方法

    下面是使用VS Code开发Node.js程序的完整攻略: 安装Node.js环境 首先,我们需要安装Node.js环境才能进行Node.js程序的开发。 在Node.js官网下载页面中,选择与自己系统对应的版本,下载安装包并安装。 安装VS Code 在官网 https://code.visualstudio.com/ 下载对应系统版本的VS Code安装…

    node js 2023年6月8日
    00
  • 配置vite.confgi.ts无法使用require问题以及解决

    Vite是一个面向现代浏览器的轻量级Vue.js开发构建工具。它能够提供快速的开发和热重载,但是在使用中,有可能会出现“配置vite.config.ts无法使用require问题”的情况。这种情况的原因是由于在Vite2版本中移除了require函数,而在Vite.config.ts中使用了该函数。 以下是解决该问题的步骤: 1.更改配置文件 打开vite.…

    node js 2023年6月8日
    00
  • 如何解决sass-loader和node-sass版本冲突的问题

    要解决 sass-loader 和 node-sass 版本冲突的问题,需要进行以下步骤: 确认项目中的依赖 首先要确定项目中已经安装的 sass-loader 和 node-sass 版本。可以通过运行下面的命令来查看当前项目中安装的版本号: npm ls sass-loader node-sass 该命令将会输出当前项目中 sass-loader 和 n…

    node js 2023年6月8日
    00
  • nodejs如何在package.json中设置多条启动命令

    要在package.json中设置多条启动命令,可以使用”scripts”字段。在此字段中,可以定义多个命令,并且可以通过npm run命令调用这些命令。下面是设置多条启动命令的详细攻略: 步骤1:创建package.json文件 如果尚未创建package.json文件,请运行以下命令: npm init 按照提示输入相应信息,创建一个新的package.…

    node js 2023年6月8日
    00
  • Node.js中使用jQuery的做法

    使用jQuery是前端常用的一个库,但是它并不仅仅只能在前端使用。在Node.js中我们同样可以使用jQuery,下面就是如何在Node.js中使用jQuery的做法: 安装jQuery 在Node.js中,我们需要先将jQuery安装到我们的项目中。我们可以使用npm来完成安装。 打开项目所在文件夹,并在命令行中输入以下命令: npm install jq…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部