赞
踩
今天中午有点时间刚好分享之前使用nodejs连接数据库的时候封装了一个数据库连接的代码.
在自己接活的时候,如果使用Java做后端服务,我个人觉得是一个比较费时间的事情,所以前端朋友可以使用node作为服务器,这样不就更好.
基于nodejs + express + mysql的架构
如果是自己使用node开发接口,那就需要链接mysql, 既然要连接数据库存储数据,那就说明不是只用一次就完事了,需要频繁调用,那如何封装一个mysql了.
代码如下:
自己的电脑需要安装mysql ,安装步骤我就不提供了,有现成的连接教程
mysql官网: MySQL
安装nodejs ,nodejs的安装步骤-请看官网: Node.js 中文网
输入命令: npm init --yes
npm i express mysql -S
这个是核心代码
- // 引入框架
- const express = require("express")
-
-
- // 新建app对象
- let app = new express()
-
-
- // 监听
- app.listen(3000, () => {
- console.log("服务器开启:http://127.0.0.1:3000");
- })
我个人喜欢将封装的东西都放到utils中, 所以需要再app.js同级新建一个文件夹utils ,在utils中在新建一个db.js
node ---> utils ---> db.js
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
- }

在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比较合适, 今天的分享就到这里,有问题可以留言.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。