node+express 搭建商城项目(2-建立 Mysql链接 完成注册账号接口)

node+express 搭建商城项目(2-操作Mysql完成注册账号接口)

  • 今天我们 用 express 和 mysql 插件完成 mysql数据库的操作
  • 下面开始安装数据库 插件
npm install mysql --save-dev
  • 安装完毕之后,开始配置数据库。
  • 在外层目录新建一个 model文件夹 新建 db.js文件
  • 新建 封装 mysql db.js文件
  • 在 db文件里面 我们配置 链接数据库的基本配置
  • 还有小伙伴们没有安装 mysql的 请先安装好哦 博主的 是8以上的版本
var mysql = require('mysql'); //导入 mysql 模块
let dbConfig = {
    
    
    host: 'localhost', // ip
    port: '3306', // 端口号
    user: 'root', // 账户
    password: 'as946640', // 密码
    database: 'shopmall' // 数据库名称
}
  • 保存 然后我们再 编写一个查询函数 并且导出该函数
  • 博主这里 用了 Promise来进行封装 更简便明了
module.exports = {
    
    
    query: function (sql, params, callback) {
    
    
        //每次使用的时候需要创建链接,数据操作完成之后要关闭连接
        var connection = mysql.createConnection(dbConfig)
        // 封装 Promoise 返回结果
        return new Promise((resolve, reject) => {
    
    
            connection.connect((err) => {
    
    
                // 返回错误
                if (err) reject(err)
                // 执行查询
                connection.query(sql, params, (err, rows) => {
    
    
                    if (err) reject(err)
                    // 释放连接,否则会卡顿
                    connection.end((err) => {
    
    
                        if (err) reject(err)
                    })
                    // 返回结果
                    resolve(rows)
                })
            })
        })
    }
};
  • 接下来就到了我们的正题了 在 router 文件 新建 user模块 处理用户接口
  • 创建 user 路由模块
  • 接下来 进入正题 编写我们的 user 模块 用户注册接口
  • 首先我们先引入 db文件操作数据 以及 express 然后实例化路由
var express = require('express');
var router = express.Router();
const db = require('./../../model/db.js')

最后编写我们的 注册接口 并且导出

/* 注册用户. */
router.post('/register', async (req, res) => {
    
    
  const {
    
    
    userName,
    password
  } = await req.body; // 获取 用户产地来的数据
  // 新建 插入 sql
  const sql = `INSERT INTO user (userName,password) VALUES ( '${
      
      userName}','${
      
      password}')`
  try {
    
    
    // 执行 sql查询函数 返回结果
    let blogs = await db.query(sql)
    if (blogs) {
    
    
      res.json({
    
    
        code: 200,
        msg: '注册成功'
      })
    }
  } catch (error) {
    
    
    // 错误处理
    res.json({
    
    
      code: 500,
      msg: error.sqlMessage
    })
  }
});

module.exports = router;
  • 小伙伴们 记得 在 入口文件 app.js 挂载下 当前user.js路由文件哦
var usersRouter = require('./routes/user/users');
app.use('/users', usersRouter);
  • 现在我们进行接口测试 博主这里用了 ApiPost 国产还是很强大的

在这里插入图片描述

  • 最后数据库查看我们注册的数据

在这里插入图片描述

  • 发现我们注册的数据已经提交给数据库里 完结撒花

猜你喜欢

转载自blog.csdn.net/weixin_45192421/article/details/114152451