在nodejs项目中封转mysql2的数据连接

概要-封装node链接mysql的数据库代码(并不是特别优化,自己感觉还不错)

今天中午有点时间刚好分享之前使用nodejs连接数据库的时候封装了一个数据库连接的代码.

在自己接活的时候,如果使用Java做后端服务,我个人觉得是一个比较费时间的事情,所以前端朋友可以使用node作为服务器,这样不就更好. 

整体架构流程

基于nodejs + express + mysql的架构

数据库的连接封装

如果是自己使用node开发接口,那就需要链接mysql, 既然要连接数据库存储数据,那就说明不是只用一次就完事了,需要频繁调用,那如何封装一个mysql了.

代码如下: 

第一步: 

    自己的电脑需要安装mysql ,安装步骤我就不提供了,有现成的连接教程

   mysql官网: MySQL

第二步: 

    安装nodejs  ,nodejs的安装步骤-请看官网: Node.js 中文网

第三步: 

   开始搭建项目:

   1)  在桌面新建一个文件夹,中英文(建议最好是英文)都可以: 使用命令进入当前文件夹,
输入命令: npm init   --yes
 2)   然后再当前文件夹中新建 app.js  文件

   

 3) 开始下载包 :express代表框架 , mysql代表数据库

npm  i  express  mysql  -S

4)  在app.js中编写代码

   这个是核心代码

// 引入框架
const express = require("express")


// 新建app对象
let app = new express()


// 监听 
app.listen(3000, () => {
    console.log("服务器开启:http://127.0.0.1:3000");
})
  5) 开始封装mysql的代码

   我个人喜欢将封装的东西都放到utils中, 所以需要再app.js同级新建一个文件夹utils ,在utils中在新建一个db.js

    node ---> utils ---> db.js

 6) 代码如下: 

  db.js : 

  

// 封装数据库
// 引入mysql
const mysql = require("mysql")

// 封转的方法
let myquery = function (...aa) {
    //  不管你的参数是几个,我的第一个参数都是sql
    let sql = aa[0]
    let arr = []
    let fn;//方法 function -->fn
    if (aa.length > 2) {//三个参数
        arr = aa[1]
        fn = aa[2]
    } else {
        fn = aa[1]
    }
    // 以上的参数已经准备好了
    // 创建连接
    let conn = mysql.createConnection({
        host: "127.0.0.1",
        user: "root",
        password: "数据库密码",
        port: 3306,
        database: "数据库名称"
    })
    conn.connect();//执行

    // 命令
    if (arr.length > 0) {
        conn.query(sql, arr, (err, result) => {
            fn(err, result)
        })
    } else {
        conn.query(sql, (err, result) => {
            fn(err, result)
        })
    }

    // 关闭
    conn.end()
}



// 向外暴露一个方法体
module.exports = {
    myquery
}
  7)  接口调用

   在app.js中编写一个简单的接口,例如查询当前用户的列表信息

  

// 引入封装的db.js
const db = require("./utils/db.js");
//创建路由
const router = express.Router();
router.get("/findUserList", (req, res) => {
  let sql = "select * from user";
  db.myquery(sql, [], (err, result) => {
    if (err) {
      console.log(err);
      res.send({
        code: 401,
        message: "查询失败",
      });
      return false;
    }
    res.send({
      code: 200,
      message: "查询成功!",
      data: result,
    });
  });
});

   

小结

这个封装比较简单,如果想真正的开发项目,其实用koa2比较合适, 今天的分享就到这里,有问题可以留言.

相关推荐

  1. nodejs使用mysql2

    2024-03-22 15:30:01       48 阅读
  2. log4js-nodenodejs项目使用示例

    2024-03-22 15:30:01       54 阅读
  3. 2.MySQL数据类型

    2024-03-22 15:30:01       36 阅读
  4. mysqlMySQLbinlog数据仓库应用

    2024-03-22 15:30:01       53 阅读
  5. Docker 配置 MySQL 数据库并初始化 Project 项目

    2024-03-22 15:30:01       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 15:30:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 15:30:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 15:30:01       87 阅读
  4. Python语言-面向对象

    2024-03-22 15:30:01       96 阅读

热门阅读

  1. 计算机网络安全试题

    2024-03-22 15:30:01       40 阅读
  2. node.js nvm命令切换到node 14

    2024-03-22 15:30:01       43 阅读
  3. 面试十二、装饰器模式

    2024-03-22 15:30:01       42 阅读
  4. 量化交易入门(十一)Python开发-数据结构

    2024-03-22 15:30:01       39 阅读
  5. 鸡兔同笼套餐

    2024-03-22 15:30:01       39 阅读
  6. 三要素+人像核验接口,身份核验,身份实名认证

    2024-03-22 15:30:01       42 阅读
  7. Http常用响应状态码

    2024-03-22 15:30:01       39 阅读