mysql - node express 數據操作相關的邏輯怎樣封裝更合理?
問題描述
先上目錄結構

路由層代碼 router/
index.js
'use strict';module.exports = function (app) { app.get(’/’, function (req, res, next) {res.send(’Hello node-express World!’);next(); }); // 具體的業務請求路由配置 app.use(’/user’, require(’./user’)); // 404 page ejs渲染報錯,暫時不管 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();});// 定義網站主頁的路由router.get(’/’, function (req, res) { // console.log(req); res.send(req.query || {});});// 查詢用戶信息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;
數據層代碼 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))); });}
前端調用:zepto(jquery) 的ajax
問題:不知道各位經常寫后臺的認為這樣封裝可行不?希望多多吐槽。
前端開發轉node,目前只能封裝到這一步,后面要上項目的,還望多多指教。
問題解答
回答1:百度搜索sequelize,可以使用這個orm來操作數據庫,雖然性能方面會有些一影響,但是使用方便
相關文章:
1. docker-compose 為何找不到配置文件?2. docker網絡端口映射,沒有方便點的操作方法么?3. 為什么我ping不通我的docker容器呢???4. mac連接阿里云docker集群,已經卡了2天了,求問?5. debian - docker依賴的aufs-tools源碼哪里可以找到啊?6. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.7. 百度地圖api - Android 百度地圖 集成了定位,導航 相互的jar包有沖突?8. golang - 用IDE看docker源碼時的小問題9. html5和Flash對抗是什么情況?10. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?

網公網安備