本文主要是介绍在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) {// 不管你的参数是几个,我的第一个参数都是sqllet sql = aa[0]let arr = []let fn;//方法 function -->fnif (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比较合适, 今天的分享就到这里,有问题可以留言.
这篇关于在nodejs项目中封转mysql2的数据连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!