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', // 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 模块 用户注册接口
- 首先我们先引入 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 国产还是很强大的
- 最后数据库查看我们注册的数据
- 发现我们注册的数据已经提交给数据库里 完结撒花