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,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怎么操作元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java Stream怎么操作元素”吧!说明1、java.util.Stream代表了一系列能够执行一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/10 18:59
Next 05/10 18:59

相关推荐