当前位置: 首页 > 后端技术 > Node.js

Node连接MySQL并封装其CRUD

时间:2023-04-03 20:37:44 Node.js

Node连接Mysql说起node,大家可能会把MOngoDB想象成一个数据库,这里将介绍下node与mysql的连接,并分享封装后的示例代码,在项目开发中可以可以直接使用。下一篇博客会讲node连接MongoDB。安装Mysql模块npminstallmysql连接Mysqlconstmysql=require('mysql');letconnection=mysql.createConnection({host:'localhost',user:'root',password:'password',database:'test'});connection.connect(function(err){if(err){控制台。error('连接失败:'+err.stack);return;}console.log('连接成功id'+connection.threadId);});host:连接的服务器用户:数据库用户名密码:设置的MySQLpassworddatabase:要连接的数据库的名称常用的SQL语句这里不再赘述,包括select、insert、update、delete等语句。节点运行Mysql查询connection.query('SELECT*FROMt_userWHEREusername="whg"',(err,results,fields)=>{if(err){console.log(err);}console.log(results);})添加connection.query('INSERTINTOt_user(username,pass)VALUES(?,?)',['whg','123'],(err,results)=>{if(err){console.日志(错误);}console.log(结果);})deleteconnection.query('DELETEFROMt_userWHEREid=1',(错误,结果)=>{if(错误){console.log(错误);}console.log(results);})updateconnection.query('UPDATEt_userSETpass="321"WHEREusername="whg"',(err,results)=>{if(err){console.log(err);}console.log(results);})结束连接connection.end(function(err){});connection.destroy();两个都可以,第二个是强制结束。封装说了这么多,感觉操作还是挺简单的。在实际开发中,我们希望操作起来更方便,所以让我们自己封装起来使用。直接上传代码:封装代码1.数据库配置文件//配置链接数据库参数module.exports={host:'localhost',port:3306,//端口号database:'nodetest',//数据库名user:'root',//数据库用户名password:'123456'//数据库密码};2.封装和暴露方式letmysql=require('mysql');//引入mysql模块vardatabaseConfig=require('./mysql.config');//在数据库配置模块中引入数据//对外暴露方法module.exports={query:function(sql,params,callback){//每次使用都需要创建一个链接,并且数据操作完成然后关闭连接varconnection=mysql.createConnection(databaseConfig);connection.connect(function(err){if(err){console.log('数据库连接失败');throwerr;}//开始数据操作//传入三个参数,第一个参数是sql语句,第二个参数是sql语句中需要的数据,第三个参数是回调函数connection.query(sql,params,function(err,results,fields){if(err){console.log('数据操作失败');throwerr;}//将查询到的数据返回给回调函数callback&&callback(results,fields);//resultsas数据操作后的结果,fields是数据库连接的一些字段//停止连接数据库,必须重新查询语句,否则一旦调用该方法,会直接停止连接,数据操作失败connection.end(function(err){if(err){console.log('关闭数据库连接失败!');throwerr;}});});});}};3。Demo例子vardb=require('../model/mysql.js');//查询实例db.query('select*fromt_user',[],function(result,fields){console.log('queryresult:');console.log(result);});//添加实例varaddSql='INSERTINTOwebsites(username,password)VALUES(?,?)';varaddSqlParams=['咕噜先森','666'];db.query(addSql,addSqlParams,function(result,fields){console.log('添加成功')})想用的朋友可以直接将这两个打包文件复制到项目中,更改配置并使用它,大大提高了开发效率下一篇文章将分享Node如何连接MongoDB。