久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

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

一文聊聊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號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
麻豆9191精品国产| 日韩精品一二区| 中文一区一区三区高中清不卡免费| 蜜桃视频在线观看一区| 欧美成a人免费观看久久| 国产精品三级| 日韩激情一二三区| 亚洲理论在线| 午夜在线视频观看日韩17c| 国产在线|日韩| 成人亚洲一区| 日韩av一级片| 亚洲精品免费观看| 国产精品日韩| 伊人影院久久| 黄色成人精品网站| 亚洲激情另类| 久久影院一区| 91精品久久久久久久久久不卡| 欧美成人a交片免费看| 激情综合婷婷| 国产欧美一区二区三区精品酒店| 成人在线超碰| 国产色播av在线| 午夜av不卡| 伊人久久在线| 精品免费av在线| 久久国产欧美| 午夜影院欧美| 免费观看在线色综合| 亚洲视频播放| 免费观看在线综合| 久久av一区| 视频一区二区国产| 亚洲三级av| 久久国产生活片100| 国产精品激情| 国产不卡精品| 99久久婷婷这里只有精品| 91精品国产福利在线观看麻豆| 日韩精品欧美激情一区二区| 国产成人久久精品麻豆二区 | 精品久久免费| 久久精品欧洲| 久久精品电影| 首页欧美精品中文字幕| 日本一区二区中文字幕| 国产精品一区三区在线观看| 日本a口亚洲| 美女免费视频一区| 国产中文在线播放| 99在线观看免费视频精品观看| 久久高清一区| 日韩国产欧美三级| 久久三级中文| 99精品视频在线| 欧美日韩免费观看一区=区三区| 丝袜诱惑制服诱惑色一区在线观看 | 国产麻豆综合| 久久爱www.| 久久亚洲风情| 日韩久久一区二区三区| 国产毛片一区二区三区| 日韩视频精品在线观看| 精品无人区麻豆乱码久久久| 亚洲在线久久| 蜜桃一区二区三区| 开心激情综合| 日韩久久一区| 免费黄色成人| 精品99在线| 日本va欧美va精品| 久久av一区| 亚洲成人国产| 国产不卡精品| 国产欧美大片| 日韩欧美在线精品| 9色精品在线| 99久久激情| 中国字幕a在线看韩国电影| 国产伦理久久久久久妇女| 国产精品毛片在线| 999国产精品永久免费视频app| 国产精品激情| 亚洲精品国产精品粉嫩| 九一国产精品| 日韩欧美一区二区三区在线观看| 美女性感视频久久| 日韩视频一二区| 夜夜精品视频| 亚洲午夜精品久久久久久app| 福利片在线一区二区| 国产精品久久国产愉拍| 日本aⅴ亚洲精品中文乱码| 亚洲专区一区| 国产亚洲精品v| 国精品一区二区三区| 精品国模一区二区三区| 精品视频在线观看网站| 亚洲精品在线二区| 国产视频久久| 中文在线一区| 国产偷自视频区视频一区二区| 性欧美xxxx免费岛国不卡电影| 麻豆理论在线观看| a天堂资源在线| 精品国产欧美日韩| 久久99精品久久久野外观看| 日本天堂一区| 久久黄色影视| 国产精品视频3p| 国产精品videossex| 国产伦精品一区二区三区千人斩| 青青草精品视频| 中文不卡在线| 一本综合精品| 日韩精品高清不卡| 日本一区福利在线| 日本综合视频| 欧美私人啪啪vps| 国产日韩欧美一区二区三区| 国产精品网站在线看| 国产精品v亚洲精品v日韩精品| 国产精品久久久久久久久久妞妞| 国产精品亚洲综合在线观看| 久久国际精品| 国产精品久久免费视频| 美女性感视频久久| 国产精品久久久久久久久妇女| 久久精品亚洲| 九九九精品视频| 美女av在线免费看| 精品99久久| 亚洲人成在线网站| 亚洲一级特黄| 国产模特精品视频久久久久| 一区二区亚洲视频| 国产美女视频一区二区| 精品99久久| 婷婷成人在线| 蜜臀国产一区二区三区在线播放| 日本成人在线不卡视频| 麻豆一区二区在线| 电影亚洲精品噜噜在线观看| 激情久久久久久久| 热久久久久久久| 国产精品日本一区二区三区在线| bbw在线视频| 狠狠色综合网| 欧美视频二区| 欧美少妇精品| 中文一区二区| 国产精品中文字幕制服诱惑| 国产一区二区久久久久| 九九综合在线| 7777精品| 色综合www| 蜜桃av一区二区在线观看| 国产美女久久| 蜜桃精品在线| 丝袜美腿亚洲一区| 久久99精品久久久野外观看| 久久高清精品| 综合欧美精品| 国产成人在线中文字幕| 午夜精品网站| 国产精品一区二区中文字幕| 欧美日韩精品免费观看视完整 | 精品中文一区| 青青伊人久久| 不卡福利视频| 亚洲精品伊人| 成人日韩精品| 亚洲毛片在线| 中文在线а√在线8| 一区二区高清| 国产白浆在线免费观看| 影音先锋久久精品| 国产videos久久| 中文字幕日韩亚洲| 日韩激情一区| 日本欧美大码aⅴ在线播放| 韩国精品主播一区二区在线观看| 一级成人国产| 成人小电影网站| 日韩中文字幕一区二区高清99| 国产精品国产三级国产在线观看| 亚洲免费婷婷| 久久精品国产免费| 欧美专区18| 97欧美在线视频| 日韩区欧美区| 婷婷精品进入| 九九久久国产| 视频一区视频二区中文| 国产福利片在线观看| 人人爱人人干婷婷丁香亚洲| 免费av一区| 国产一区二区三区免费在线 | 亚洲aa在线|