node.js mysql简单封装

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);//调用封装好的数据库,完成数据库相关操作
  
})

 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Node.js中连接MySQL数据库可以通过以下几个步骤实现。首先,你需要安装mysql第三方包,可以使用npm i mysql命令进行安装。\[3\]然后,你需要导入mysql第三方包,使用const mysql = require('mysql')进行导入。接下来,你需要创建连接对象,使用mysql.createPool方法创建连接对象,并填写相应的参数,包括主机、端口号、用户名、密码和数据库名。\[3\]然后,你可以测试连接是否成功,使用连接对象的query方法执行一条简单SQL语句,例如select 1,如果能够成功执行并返回结果,就证明连接成功。\[3\]最后,你可以声明待执行的SQL语句,并使用连接对象的query方法执行SQL语句。例如,如果你想查询users表中的所有数据,可以使用select * from users语句,并通过回调函数获取查询结果。\[3\]这样,你就可以在Node.js中实现连接MySQL数据库的实战了。 #### 引用[.reference_title] - *1* [【实战】nodejs 必会技能 —— 封装 mysql 数据库连接](https://blog.csdn.net/qq_32682301/article/details/128826764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [(Node) JavaScript连接MySQL](https://blog.csdn.net/CUBE_lotus/article/details/123056423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [nodejs连接mysql数据库](https://blog.csdn.net/LLL3189860667/article/details/126844946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值