mysql - node express 数据操作相关的逻辑怎样封装更合理?

 永欣慧娟766 发布于 2022-11-01 07:26

先上目录结构

路由层代码 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 个回答
  • 百度搜索sequelize,可以使用这个orm来操作数据库,虽然性能方面会有些一影响,但是使用方便

    2022-11-01 20:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有