当前位置:   article > 正文

在nodejs项目中封转mysql2的数据连接

在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中编写代码

   这个是核心代码

  1. // 引入框架
  2. const express = require("express")
  3. // 新建app对象
  4. let app = new express()
  5. // 监听
  6. app.listen(3000, () => {
  7. console.log("服务器开启:http://127.0.0.1:3000");
  8. })
  5) 开始封装mysql的代码

   我个人喜欢将封装的东西都放到utils中, 所以需要再app.js同级新建一个文件夹utils ,在utils中在新建一个db.js

    node ---> utils ---> db.js

 6) 代码如下: 

  db.js : 

  

  1. // 封装数据库
  2. // 引入mysql
  3. const mysql = require("mysql")
  4. // 封转的方法
  5. let myquery = function (...aa) {
  6. // 不管你的参数是几个,我的第一个参数都是sql
  7. let sql = aa[0]
  8. let arr = []
  9. let fn;//方法 function -->fn
  10. if (aa.length > 2) {//三个参数
  11. arr = aa[1]
  12. fn = aa[2]
  13. } else {
  14. fn = aa[1]
  15. }
  16. // 以上的参数已经准备好了
  17. // 创建连接
  18. let conn = mysql.createConnection({
  19. host: "127.0.0.1",
  20. user: "root",
  21. password: "数据库密码",
  22. port: 3306,
  23. database: "数据库名称"
  24. })
  25. conn.connect();//执行
  26. // 命令
  27. if (arr.length > 0) {
  28. conn.query(sql, arr, (err, result) => {
  29. fn(err, result)
  30. })
  31. } else {
  32. conn.query(sql, (err, result) => {
  33. fn(err, result)
  34. })
  35. }
  36. // 关闭
  37. conn.end()
  38. }
  39. // 向外暴露一个方法体
  40. module.exports = {
  41. myquery
  42. }
  7)  接口调用

   在app.js中编写一个简单的接口,例如查询当前用户的列表信息

  

  1. // 引入封装的db.js
  2. const db = require("./utils/db.js");
  3. //创建路由
  4. const router = express.Router();
  5. router.get("/findUserList", (req, res) => {
  6. let sql = "select * from user";
  7. db.myquery(sql, [], (err, result) => {
  8. if (err) {
  9. console.log(err);
  10. res.send({
  11. code: 401,
  12. message: "查询失败",
  13. });
  14. return false;
  15. }
  16. res.send({
  17. code: 200,
  18. message: "查询成功!",
  19. data: result,
  20. });
  21. });
  22. });

   

小结

这个封装比较简单,如果想真正的开发项目,其实用koa2比较合适, 今天的分享就到这里,有问题可以留言.

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号