node+express 搭建商城项目(2-操作Mysql完成注册账号接口)
今天我们 用 express 和 mysql 插件完成 mysql数据库的操作下面开始安装数据库 插件npm install mysql --save-dev
安装完毕之后,开始配置数据库。在外层目录新建一个 model文件夹 新建 db.js文件在 db文件里面 我们配置 链接数据库的基本配置还有小伙伴们没有安装 mysql的 请先安装好哦 博主的 是8以上的版本
var mysql = require('mysql'); //导入 mysql 模块let dbConfig = {host: 'localhost', // ipport: '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 模块 用户注册接口首先我们先引入 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; // 获取 用户产地来的数据// 新建 插入 sqlconst 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 国产还是很强大的最后数据库查看我们注册的数据 发现我们注册的数据已经提交给数据库里 完结撒花