分享更有价值
被信任是一种快乐

node如何封装mysql处理语句

文章页正文上

本篇内容介绍了“node如何封装mysql处理语句”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

npmimysql-S
npmiexpress-S

constmysql=require('mysql')functioncreateConnection(){
constconnection=mysql.createConnection({
host:'',//地址
user:'',//用户名
password:'',//密码
port:'',//端口
database:''//数据库名
});
returnconnection;}module.exports.createConnection=createConnection;

引入MySQL连接相关文件,进行连接数据库操作

constmysql=require('../mysql/mysql')letconnection=null;connection=mysql.createConnection();/**
*错误消息
*/letbad_msg={
code:500,
msg:'内部错误!'}/**
*成功消息
*/letsuccess_msg={
code:200,
msg:'操作成功'}constconnections={
/**
*查询方法
*@param{*}table表名
*@param{*}condition条件
*@param{*}params参数
*@param{*}search查询条件
*@returns
*/
find(table,condition,params,search='*'){
returnnewPromise((resolve,reject)=>{
letsql=`SELECT${search}FROM${table}WHERE${condition}`
connection.query(sql,params,(err,result)=>{
if(err){
reject(bad_msg)
}else{
let_=JSON.parse(JSON.stringify(success_msg))
_.data=resultresolve(_)
}
})
})
},
/**
*插入方法
*@param{*}table表名
*@param{*}condition条件
*@param{*}params参数
*@returns
*/
insert(table,condition,params){
returnnewPromise((resolve,reject)=>{
conststr="?"
let_=str.repeat((condition.split(',')).length)
letval=(Array.from(_)).toString()
letsql=`INSERTINTO${table}(${condition})VALUES(${val})`
connection.query(sql,params,(err,result)=>{
if(err){
reject(bad_msg)
}else{
resolve(success_msg)
}
})
})
},
/**
*更新方法
*@param{*}table表名
*@param{*}val值
*@param{*}condition条件
*@param{*}params参数
*@returns
*/
update(table,val,condition,params){
returnnewPromise((resolve,reject)=>{
letsql=`UPDATE${table}SET${val}WHERE${condition}`
connection.query(sql,params,(err,result)=>{
if(err){
reject(bad_msg)
}else{
resolve(success_msg)
}
})
})
},
/**
*删除方法
*@param{*}table表名
*@param{*}condition条件
*@param{*}params参数
*@returns
*/
del(table,condition,params){
returnnewPromise((resolve,reject)=>{
letsql=`DELETEFROM${table}WHERE${condition}`
connection.query(sql,params,(err,result)=>{
if(err){
reject(bad_msg)
}else{
resolve(success_msg)
}
})
})
},}module.exports=connections

我们使用登录注册来进行演示:

constexpress=require('express')constrouter=express.Router()constconnections=require('../../static/connection')//token生成插件模块constjwt=require('jsonwebtoken');//Token签名varsecret=''constCreatId=require('../../static/ranId')router.post('/user/details',(req,res)=>{
connections.find('user_table',`ID=?`,req.user.ID).then(resp=>{
res.send(resp)
})})router.post('/api/login',(req,res)=>{
connections.find('user_table','user=?',req.body.user).then(resp=>{
let{data}=respif(data.length!==0){
for(leti=0;i{
res.send(e)
})})router.post('/api/register',(req,res)=>{
connections.find('user_table','user=?',req.body.user).then(resp=>{
if(resp.data.length>0){
res.send({
code:202,
msg:'该用户已经存在!'
})
}else{
let_=req.bodyletid=CreatId(3)+CreatId(3)
connections.insert('user_table','ID,user,pwd,avatarUrl,location,RegisterTime,isAdmin,isDel',[id,_.user,_.pwd,'/static/userimg/user.webp',_.location,Date.now(),0,0]).then(resps=>{
//传输的token内容
lettoken=jwt免费云主机、域名.sign({ID:id},secret,{expiresIn:'72H'});
//返回结果
res.send({
code:200,
msg:'操作成功!',
token:'Bearer'+token,
})
})
}
})})module.exports=router

“node如何封装mysql处理语句”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: vue能不能实现自适应

这篇文章主要讲解了“vue能不能实现自适应”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue能不能实现自适应”吧! vue能实现自适应,其实现自适应的方法有:1、通过“npm install”或“yarn a…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册