node.js mysql简单封装

2022-12-31 11:06:33

1.node.js简单封装mysql模块,首先,我们需要下载mysql模块,使用如下命令:

npm install mysql --save

2.在项目目录下创建一个数据库配置文件db

3.在config.js文件下引入mysql模块,实现最简单的mysql封装

const mysql = require('mysql');//引入mysql
module.exports={ //公开该模块(以便其它模块使用)
    config:{
        host:'127.0.0.1',//连接数据库的地址。(默认:localhost)
        port:3306,//连接地址对应的端口。(默认:3306)
        user:'root',//mysql的连接用户名
        password:'xxxxx',//对应用户的密码
        dataBase:'$_doctors' //所需要连接的数据库的名称  
    }
    connect(sql,params,cb){      //connect('sql语句',[参数],回调函数(err,data){})
        let conn = mysql.creatConnection(this.config);//1。创建数据库    
        conn.connect();//2.连接数据库
        conn.query(sql,params,cb);//3.执行sql语句,第二个参数是一个数据格式,数组元素的先后顺序,对应sql语句中的?的顺序
        conn.end();//4。关闭数据库
    }
}

注意:一般来说,sql生成时,不要写成字符串拼接的方式; 容易导致sql注入的漏洞产生,黑客容易获取到最高管理员权限。应该使用?来做占位符号: 

let sql = 'select * from t_user where u_name = ? and u_password = ?';

4.在对应的路由接口中调用封装好的数据库实现数据库功能,例子如下:

const express = require('express');//引入express模块
const _router=express.Router();//引入路由
const db=reuire('../db/config');//引入封装好的数据库
moudle.exports=_router;//公开路由模块
//查询医生信息路由接口
_router.route('/searchDoctor')
.post((req,res)=>{
  let {d_name,d_sex,j_id}=req.body;
  let sql,params,cb;
  sql='SELECT * FROM doctorinfos d,doctorjoins j,hosiptalclass h WHERE h.hc_id=d.hc_id AND d.j_id=j.j_id and d_name=? and d_sex=? and d.j_id=?' //sql查询语句
  params=[d_name,d_sex,j_id]; //需要的参数,分别对应三个问号?
  cb=(err,resultData)=>{  //回调函数,成功或者失败返回给前端的数据
    console.log(err);
    console.log(resultData);
    if(err ==null){
      res.json({
        code:200,
        msg:'查询成功',
        data:resultData
      })
    }else{
      res.json({
        code:4001,
        msg:'查询失败',
        data:[]
      })
    }

  }
  db.connect(sql,params,cb);//调用封装好的数据库,完成数据库相关操作
  
})

 

  • 作者:涛子的博客
  • 原文链接:https://blog.csdn.net/goutaohandsome/article/details/118757575
    更新时间:2022-12-31 11:06:33