本篇内容介绍了“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,rej免费云主机域名ect)=>{ 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处理语句”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!
本免费云主机域名篇内容主要讲解“java Stream怎么操作元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java Stream怎么操作元素”吧!说明1、java.util.Stream代表了一系列能够执行一…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。