mysql - node express 数据操作相关的逻辑怎样封装更合理?
黄舟
黄舟 2017-04-17 16:47:46
0
1
661

先上目录结构

路由层代码 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();
//mysql
var user_pool = require("../mysql/user");
// 该路由使用的中间件 timeLog
router.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);
    });
});

//more


module.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)
黄舟

Baidu 検索の続編として、この ORM を使用してデータベースを操作できます。パフォーマンスに多少の影響はありますが、使いやすいです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!