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

先上目录结构

路由层代码 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,目前只能封装到这一步,后面要上项目的,还望多多指教。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(1)
黄舟

Baidu search sequelize, you can use this ORM to operate the database, although there will be some impact on performance, it is easy to use

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template