概要-封装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比较合适, 今天的分享就到这里,有问题可以留言.