成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院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號
色天使亚洲综合一区二区| 人妻[21P]大胆| 女人被狂躁c到高潮视频| 欧美高清熟妇啪啪内射不卡自拍 | 无线乱码一二三区免费看| 学生无码AV一区二区三区| 亚洲AV无码成人黄网站在线观看 | 精品久久久久久无码人妻蜜桃 | 丰满少妇被猛烈高清播放| 公车揉捏顶弄伸入| 国产在线蜜乳一区二区三区| 精品一区二区三区无码免费视频| 快拨出天我是你母亲| 欧美人与动人物XXXX9296| 日韩精品亚洲人成在线观看| 我被公么征服了HD中文字幕| 亚洲AV永久无码精品一福利 | 凹凸国产熟女精品视频APP| 国产成人AV性色在线影院色戒 | 成人精品一卡2卡3卡4卡新区乱| 国产成人亚洲精品无码H在线| 护士奶头又白又大又好摸| 鲁大师在线影院免费观看| 人妻妺妺窝人体色777777| 偷偷色噜狠狠狠狠的777米奇| 亚洲加勒比无码一区二区| 中文字幕无码成人免费视频| 成人无码区免费AⅤ片| 国产一区二区精品久久| 麻豆国产97在线 | 欧洲| 日本在线观看哔哩哔哩视频| 亚洲AV无码ⅤS国产AV| 在出租屋里被强高H| 大陆熟妇丰满多毛XXXX| 好男人视频在线观看| 男人J桶进女人P无遮挡全过程 | 欧美日韩久久中文字幕| 无码一区18禁3D| 呦小BBW搡BBBB搡BBBB| 处 女 开 破视频处CT开| 狠狠做五月深爱婷婷天天综合| 美女裸体无遮拦国产兔费网站| 色婷婷AV一区二区三区| 亚洲男人的天堂AV手机在线观看| FREE嫩白18SEX性HD处| 国产三级在线观看完整版| 免费A级毛片无码韩国| 天堂MV在线MV免费MV香蕉| 亚洲无AV码一区二区三区| 草草影院CCYY国产日本欧美| 精品国产乱码久久久久久小说| 人妻出差精油按摩被中出| 亚洲成A人片无码不卡| C交人Z000Z000XXⅩ| 国产在线精品一区二区三区直播| 男人J进女人屁网站免费 | 夜夜躁狠狠躁日日躁视频| 粗一硬一长一进一爽一A级| 久久久久久精品免费免费4K| 色欲AV蜜臀AV在线观看麻豆| 一二三四在线观看视频韩国| 公交车后车座疯狂的做的细节 | 亚洲中文字幕日产乱码小说| 福利 无码 三级 视频| 久久五月精品中文字幕| 无码AV高潮喷水无码专区线| 18禁裸体动漫美女无遮挡网站 | 亚洲AV无码潮喷在线观看| А√天堂在线中文| 久久AV高清无码| 亚洲视频日韩视欧美视频| 无码人妻AⅤ一区二区三区| 少妇激情A∨一区二区三区| 日本裸体丰满少妇自慰喷奶水| 日韩精品无码一区二区三区视频 | 国产98色在线 | 日韩| 久久人人做人人妻人人玩精品VA | 无码人妻久久久久一区二区三区91| 日本熟妇厨房BBW| 尹人香蕉久久99天天拍| 91人妻人人爽人人澡人人精品 | 色窝窝无码一区二区三区色欲| 一本大道无码人妻精品专区| 国产精品丝袜高跟鞋| 人与畜禽共性关系的重要性有哪些| 野花日本大全免费观看10电影| 国产精品成人亚洲777| 人妻中文字系列无码专区| 在线精品自偷自拍无码中文| 好爽又高潮了毛片免费下载| 少妇与子乱A级全毛片| CAOPORN国产精品免费| 久久久久无码国产精品一区| 亚洲AV韩Av无码色老头| 公交车上售票员用B验票小镇| 欧美日韩久久中文字幕| 一边做一边说国语对白| 黑人粗大猛烈XXⅩXXBB| 无码国产成人久久| 成人欧美一区二区三区1314| 你真紧你这是要我的命吗什么意思| 亚洲人成在线观看| 国产亚洲精品精华液| 天堂影院一区二区三区四区 | 狠狠色丁香婷婷综合久久图片| 婷婷人人爽人人爽人人片| 爆乳一区二区三区无码| 欧美多人乱大交XXXXX变态亚| 曰韩无码AV片免费播放不卡| 久久国产精品亚洲艾草网| 亚洲AV日韩AV无码大全| 国产乱理伦片在线观看夜| 色欧美与xxxxx| 爆乳无码AV一区二区三区小说| 欧美成人精品欧美一级乱黄| 中文字幕AV无码一二三区电影| 久久久无码精品亚洲日韩精东传媒| 亚洲AV无码专区国产乱码京东传 | 亚洲AV无码二区鸳鸯影院| 国产精品无码电影在线观看| 翁熄小莹女博士高潮连连| 公车上拨开丁字裤进入电影| 色噜噜狠狠狠综合曰曰曰| 办公室少妇愉情理伦片| 青青草原综合久久大伊人| ACTION对魔忍| 欧美整片欧洲熟妇色视频| JIZZJIZZ日本护士视频| 欧美群交射精内射颜射潮喷| AV人摸人人人澡人人超碰| 免费少妇A级毛片人成网| 性欧美老妇人XXⅩ000| 综合一区无套内射中文字幕| 老牛精品亚洲成AV人片| 真实国产乱子伦精品一区二区三区| 浪货趴办公桌~H揉秘书| 在线播放无码高潮的视频| 老师穿着旗袍肉色丝袜让我玩| 中文人妻无码一区二区三区| 蜜桃AV不卡无码三区| 亚洲成AV人片无码不卡| 粉嫩小泬无遮挡久久久久久小说| 免费女人18毛片A毛片视频| 亚洲国产精品无码久久一区二区 | 久久久久久精品成人网站蜜臀| 亚洲欭美日韩颜射在线| 久久久久久久久久精品电影| 伊在人亚洲香蕉精品区| 嫩模超大胆大尺度人体写真| BGMBGMBGM毛多多| 日本人妻人人人澡人人爽| 粉嫩AV无码一区二区三区| 视频在线观看一区二区| 国产免费看MV大片的软件| 亚洲成AⅤ人片久青草影院 | 国产精品一区二区水蜜桃色欲| 亚洲AV无码成人片在线观看一区| 精品国产一区二区三区久久 | 久久久久亚洲精品成人网| 撞击到最深处她抽搐喷水| 青青青国产精品一区二区| 国产A在亚洲线播放| 亚洲AV成人一区二区三区在线播 | 日日摸夜夜添夜夜添无码免费视频| 国产草草影院CCYYCOM| 性高朝久久久久久久| 久久精品国产亚洲AV大全| 18禁黄网站禁片无遮挡观看AP| 人妻精品久久久久中文字幕69 | 成 人 H动 漫在线播放日本| 凸凹人妻人人澡人人添| 狠狠人妻熟妇Av又粗又大| 永久免费AV无码网站在线观看| 欧日韩无套内射变态| 国产丰满麻豆HDXVIDEOS| 亚洲精品成人在线| 男人吵架后疯狂要你什么心理| 抽搐一进一出再深一点| 男人吃奶摸下挵进去好爽 | 亚洲AV永久无码精品三区在线| 精品无码一区二区三区爱欲九九 | 亚洲AV成人无码一区在线观看| 精品久久无码中文字幕| 中字年轻漂亮的儿媳2| 日韩精品视频一区二区三区| 国产一区二区三区精品视频| 伊人精品成人久久综合全集观看| 人人妻人人澡人人爽欧美一区九九| 国产精品国产亚洲精品看不卡| 亚洲毛片ΑV无线播放一区| 欧美精产国品一二三区别 | 久久久久久精品免费免费WER| А√ 天堂 在线官网中文| 武侠 欧美 另类 人妻| 麻花传媒剧国产MV在线看| 丰满的少妇XXXXX人妻| 亚洲娇小与黑人巨大交| 欧美视频在线一区| 国产尤物精品视频| 52秋霞东北熟女叫床|