mysql - node express 數(shù)據(jù)操作相關(guān)的邏輯怎樣封裝更合理?
問(wèn)題描述
先上目錄結(jié)構(gòu)

路由層代碼 router/
index.js
'use strict';module.exports = function (app) { app.get(’/’, function (req, res, next) {res.send(’Hello node-express World!’);next(); }); // 具體的業(yè)務(wù)請(qǐng)求路由配置 app.use(’/user’, require(’./user’)); // 404 page ejs渲染報(bào)錯(cuò),暫時(shí)不管 app.use(function (req, res) {if (!res.headersSent) { res.status(404); // res.status(404).render(’../view/404’);} });};
user.js
'use strict';var express = require(’express’);var router = express.Router();//mysqlvar user_pool = require('../mysql/user');// 該路由使用的中間件 timeLogrouter.use(function timeLog(req, res, next) { console.log(’Time: ’, Date.now()); next();});// 定義網(wǎng)站主頁(yè)的路由router.get(’/’, function (req, res) { // console.log(req); res.send(req.query || {});});// 查詢(xún)用戶(hù)信息router.post(’/infos’, function (req, res) { console.log(req.body); user_pool.query('select * from user where name=1104', function (data) {console.log('===============user query callback==========');console.log(data);res.send(data); });});//moremodule.exports = router;
數(shù)據(jù)層代碼 mysql/ mysql_pool.js
/** * Created by xiaogang on 2017/4/5. */'use strict';var config = require(’config-lite’);var mysql = require(’mysql’);var pool = mysql.createPool(config.mysql_pool);module.exports = pool;
user.js
/** * Created by xiaogang on 2017/4/5. */'use strict';var pool = require('./mysql_pool');exports.query = function (sql, callback) { pool.query(sql, function (error, results, fields) {if (error) throw error;callback(JSON.parse(JSON.stringify(results))); });}exports.update = function (sql, callback) { pool.query(sql, function (error, results, fields) {if (error) throw error;callback(JSON.parse(JSON.stringify(results))); });}
前端調(diào)用:zepto(jquery) 的ajax
問(wèn)題:不知道各位經(jīng)常寫(xiě)后臺(tái)的認(rèn)為這樣封裝可行不?希望多多吐槽。
前端開(kāi)發(fā)轉(zhuǎn)node,目前只能封裝到這一步,后面要上項(xiàng)目的,還望多多指教。
問(wèn)題解答
回答1:百度搜索sequelize,可以使用這個(gè)orm來(lái)操作數(shù)據(jù)庫(kù),雖然性能方面會(huì)有些一影響,但是使用方便
相關(guān)文章:
1. javascript - sublime快鍵鍵問(wèn)題2. javascript - immutable配合react提升性能?3. css - 寫(xiě)頁(yè)面遇到個(gè)布局問(wèn)題,求大佬們幫解答,在線(xiàn)等,急!~4. javascript - nodejs關(guān)于進(jìn)程間發(fā)送句柄的一點(diǎn)疑問(wèn)5. Apache 已經(jīng)把網(wǎng)站根目錄的改為allow from all了,但是服務(wù)器還是不能訪(fǎng)問(wèn)?6. 實(shí)現(xiàn)bing搜索工具urlAPI提交7. 配置Apache時(shí),添加對(duì)PHP的支持時(shí)語(yǔ)法錯(cuò)誤8. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽(tīng)數(shù)據(jù)變化9. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?10. phpstudy8.1支持win11系統(tǒng)嗎?

網(wǎng)公網(wǎng)安備