成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

一文聊聊node怎么封裝mysql處理語句

node中怎么封裝mysql?下面本篇文章給大家介紹一下node.js封裝mysql處理語句的方法,希望對大家有所幫助!

一文聊聊node怎么封裝mysql處理語句

在以往接口中一般都是直接在路由中書寫相關處理語句,造成代碼冗余性,今天使用express框架來進行相關mysql的語句封裝。

一.所需包

npm i mysql -S npm i express -S
登錄后復制

二.MySql連接文件

const mysql = require('mysql')function createConnection() {     const connection = mysql.createConnection({         host: '',  //地址         user: '',  //用戶名         password: '',  //密碼         port: '',  //端口         database: ''  //數據庫名     });     return connection;}module.exports.createConnection = createConnection;
登錄后復制

【相關教程推薦:nodejs視頻教程、編程教學】

三.封裝文件

引入MySQL連接相關文件,進行連接數據庫操作

const mysql = require('../mysql/mysql')let connection = null;connection = mysql.createConnection();/**  * 錯誤消息  */let bad_msg = {     code: 500,     msg: '內部錯誤!'}/**  * 成功消息  */let success_msg = {     code: 200,     msg: '操作成功'}const connections = {     /**      * 查詢方法      * @param {*} table 表名      * @param {*} condition 條件      * @param {*} params 參數      * @param {*} search 查詢條件      * @returns       */     find(table, condition, params, search = '*') {         return new Promise((resolve, reject) => {             let sql = `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 = result                    resolve(_)                 }             })         })     },     /**      * 插入方法      * @param {*} table 表名      * @param {*} condition 條件      * @param {*} params 參數      * @returns       */     insert(table, condition, params) {         return new Promise((resolve, reject) => {             const str = "?"             let _ = str.repeat((condition.split(',')).length)             let val = (Array.from(_)).toString()             let sql = `INSERT INTO ${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) {         return new Promise((resolve, reject) => {             let sql = `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) {         return new Promise((resolve, reject) => {             let sql = `DELETE FROM ${table} WHERE ${condition}`             connection.query(sql, params, (err, result) => {                 if (err) {                     reject(bad_msg)                 } else {                     resolve(success_msg)                 }             })         })     },}module.exports = connections
登錄后復制

四.使用

我們使用登錄注冊來進行演示:

const express = require('express')const router = express.Router()const connections = require('../../static/connection')// token生成插件模塊const jwt = require('jsonwebtoken');// Token簽名var secret = ''const CreatId = 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} = resp        if (data.length !== 0) {             for (let i = 0; i < data.length; i++) {                 // 郵箱或者密碼不正確的時候                 if (req.body.user !== data[i].user || req.body.pwd !== data[i].pwd) {                     res.send({                         code: 202,                         msg: '用戶名或密碼有誤!'                     })                 } else {                     // 郵箱和密碼輸入正確                     if (req.body.user === data[i].user && req.body.pwd === data[i].pwd) {                         // 傳輸的token內容                         let token = jwt.sign({ ID: data[i].ID }, secret, { expiresIn: '72H' });                         // 返回結果                         res.send({                             code: 200,                             msg: '操作成功!',                             token: 'Bearer ' + token,                         })                     }                 }             }         } else {             res.send({                 code: 400,                 msg: '賬號不存在請注冊!'             })         }     }).catch(e => {         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.body            let id = 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內容                 let token = jwt.sign({ ID: id }, secret, { expiresIn: '72H' });                 // 返回結果                 res.send({                     code: 200,                     msg: '操作成功!',                     token: 'Bearer ' + token,                 })             })         }     })})module.exports = router
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日日猛噜噜狠狠扒开双腿小说| 日日噜噜夜夜狠狠久久蜜桃| 人妻少妇久久中文字幕| 日本三级在线播放线观看视频| 日日摸夜夜添夜夜添无码| 天天爽天天狠久久久综合麻豆 | 舔吮着她的乳尖小说| 欧美巨大乳BBWVIDEOS| 日本丰满熟妇乱子伦| 男人操女人视频图片日韩| 久久精品人妻一区二区三区一| 国产精品视频免费一区二区| 狠狠色丁香久久婷婷综| 久久夜色精品国产亚洲AV动态图 | CHINESE国产AVVIDE| 第一次接黑人嫖客| 好深啊太粗好烫撑满了| 免费女同毛片在线播放| 日韩少妇人妻夜夜爽| 亚欧洲精品在线视频免费观看| 亚洲一区无码中文字幕| JAPANESEHD熟女熟妇伦| 国产精品成人影院在线观看| 疯狂做受XXXX高潮视频免费| 好硬好大好爽18禁免费看男男| 两个女人互添下身爽舒服小说| 人妻丰满熟妇ΑⅤ无码区| 无码中文字幕人妻在线一区二区三| 亚洲人成线无码7777 | 欧美激情内射喷水高潮| 婷婷色丁香五月激情综合| 亚洲色大成网站WWW在线| 亚洲AV无码兔费综合在线观看| 午夜精品一区二区三区免费视频 | 宝宝好涨水快流出来免费视频| 国产精品民宅偷窥盗摄| 老头巨大挺进莹莹的体内免费视频 | 99在线精品免费视频九九视| 国产精品亚洲欧美大片在线观看| 久久亚洲日韩成人无码导航| 色偷偷久久一区二区三区| 亚洲欧美韩国综合色| 啊灬啊灬啊灬快灬深视频无遮掩| 国产午夜激无码AV毛片不| 男按摩师舌头伸进去了| 无码中文亚洲AV吉吉影音先锋| 瑜伽裤国产一区二区三区| 丰满少妇大力进入| 久久亚洲中文字幕精品有坂深雪| 色婷婷成人综合激情免费视频| 亚洲色AV性色在线观无码| 产高清在线精品一区二区三区| 狠狠人妻久久久久久综合蜜桃| 人妻多毛丰满熟妇av无码| 亚洲丰满熟妇XXXX在线观看| 被男狂揉吃奶胸高潮视频在线观看 | TPU色母和PA6色母的性能| 狠狠色婷婷久久一区二区| 人妻少妇伦在线麻豆M电影| 亚洲精品国产成人AV蜜臀| 亚洲熟妇色ⅩXXXX日本| 动漫人物桶动漫人物免费观看网站| 久久精品网站免费观看| 思思久久99热只有频精品66| 正在播放老肥熟妇露脸| 国产美女高潮流白浆视频| 秋霞国产成人精品午夜视频APP| 亚洲国产欧美在线成人| 中国VODAFONE粗暴| 国产人与Z0XXⅩⅩ另类| 人妻少妇一区二区| 影音先锋亚洲成AⅤ无码| 国产男男GAY做受XXX| 人妻无码AⅤ中文系列久久免费| 亚洲人妻AAA网站| 国产精品成人AV片免费看| 欧美综合自拍亚洲综合图| 亚洲欧洲中文日韩久久AV乱码| 国产69精品久久久久9999不| 国产亚洲欧美日韩二三线| 人妻少妇乱子伦精品无码专区毛片| 野花免费观看高清电视| 国产人成视频在线观看| 日产中文字幕在线精品一区| 性欧美牲交XXXXX视频| 成人网站国产在线视频内射视频| 国产亚洲无线码一区二区| 日产无码精品一区二区三区| 1000部拍拍拍18勿入免费视| 极品白嫩的小少妇| 午夜成人性爽爽免费视频| 成为全校公交车的日常生活| 欧美黑人一级爽快片婬片高清 | 久久国产高潮流白浆免费观看 | 日韩VS欧美VS亚洲VS无码| 1000部夫妻午夜免费| 久久久久久人妻无码| 亚洲AV无码国产精品麻豆天美| 国产成人精品亚洲日本语言| 久久99精品国产麻豆不卡| 小东西好几天没弄了还能吃吗 | 男友把舌头都伸进我的嘴巴里了| 色窝窝无码一区二区三区成人网站| 51草莓看视频在线观看免费| 久久人午夜亚洲精品无码区| 亚洲精品国产第一综合99久久| 国产免费AV片无码永久免费| 玩弄三个高大的熟妇赶尸艳谈| 成熟人妻AV无码专区| 日本精品成人一区二区三区视频 | 国产美女裸体丝袜喷水视频| 少妇呻吟翘臀后进爆白浆| 草莓视频下载APP| 人妻出轨无码AV| 边做饭边被躁欧美三级| 精品国产三级A∨在线无码| 午夜麻豆国产精品无码| 国产精品白丝AV嫩草影院| 天堂АⅤ在线最新版在线 | 精品国产黑色丝袜高跟鞋| 亚洲AV成人无码精品网站老司机| 国产精品亚洲A∨天堂不卡| 无码高潮爽到爆的喷水视频APP| 91人妻人人揉人人躁人人| 乱色熟女综合一区二区三区| 伊人久久精品亚洲午夜| 久久中文字幕人妻丝袜系列| 伊人精品无码一区二区三区电影| 久久精品国产亚洲无删除| 亚洲综合无码一区二区| 久久亚洲人成网站| 曰批视频免费看30分钟| 美女下部裸体张开腿视频| 中文字幕无码无码专区| 国产揄拍国产精品| 亚洲AⅤ在线无码播放毛片一线天| 国产亚洲AV综合人人澡精品 | 久久99精品久久久久麻豆 | 久久夜色精品国产噜噜亚洲AV| 野花免费观看日本电影哔哩哔哩| 久久婷婷五月综合色和啪| 中文字幕无码精品亚洲资源网久久 | 国偷自产一区二视频观看| 亚洲爆乳少妇无码激情| 久9视频这里只有精品试看| 我的娇妻QUEEN| 国产在视频线精品视频| 亚洲精品中文字幕乱码4区| 久久久久黑人强伦姧人妻| 中文字幕一区二区三区乱码视频 | 一本一本久久A久久综合精品蜜桃| 久久久久久久精品国产亚洲| 18禁动漫无码无遮挡免费看| 人妻少妇波多野结衣黑人| 高清偷自拍亚洲精品三区| 无套内谢孕妇毛片免费看| 精品久久久久久久久午夜福利 | 浓精喷进老师黑色丝袜| 八戒福利WWW资源在线观看| 天堂√最新版中文在线地址| 国语自产少妇精品视频| 一本无码中文字幕在线观| 欧美老熟妇手机在线观看| 公交车挺进朋友人妻的身体里| 亚洲AV成人综合网伊人| 国产成人精品综合在线观看| 亚洲AV无码成人精品区欧洲| 久久久久亚洲AV无码专区首JN| 亚洲乱码1卡2卡3乱码在线芒果 | 好爽好湿好硬好大免费视频| 亚洲自国产拍揄拍| 人成午夜免费大片| 国产成网站18禁止久久影院| 亚洲精品第一国产综合精品99| 男女裸体下面进入的免费视频| 成 人 网 站 在线 看 免费| 亚洲A∨国产AV综合AV下载| 胯下硕大征服冰山女神| 波多野结衣av无码久久一区| 性饥渴少妇AV无码毛片| 麻批好紧日起要舒服死了| 成人H动漫无码网站| 亚洲AV无码乱码在线观看性色| 蜜桃中文字日产乱幕| 国产99在线 | 中文| 亚洲色大成网站WWW永久网站 | 草草影院精品一区二区三区| 亚洲AV片毛片成人观看| 免费又黄又硬又爽大片免费| 1000部又爽又黄无遮挡的视频| 日日狠狠久久偷偷色综合| 精品国产乱码久久久久久小说| 99国精品午夜福利视频不卡| 无码任你躁久久久久久老妇| 狂躁美女BBBBBB视频| 成人一区二区不卡久久久| 亚洲国产精品尤物YW在线观看| 人妻丰满熟妇岳AV无码区HD| 精品国产亚洲AV麻豆尤物| XXXXX69HD护士19学生|