如何使用带有mysql和express-myconnection的express.js?

时间:2014-11-14 16:18:20

标签: mysql node.js express

我正在使用Express 4.9.0和express-generator。执行了这个命令:

express --hbs projectname

使用NPM安装以下模块:

  • MySQL的
  • 明示-MyConnection的

我想做todo应用程序。我在routes/todo.js下创建了单独的文件,并创建了使用router.getrouter.post在该文件中创建待办事项的get / post路由。

我在app.js中有以下代码:

// mysql connection
var connection = require('express-myconnection');
var mysql = require('mysql');

app.use(
    connection(mysql, {
        host : config.db.host,
        user : config.db.user,
        password : config.db.password,
        database : config.db.database,
        debug : false //set true if you wanna see debug logger
    }, 'request')
);
// end of mysql connection

我应该在哪里放置mysql配置和连接代码?在todo.js内?我仍然没有得到组织文件结构的概念以及放置数据库查询的位置。

1 个答案:

答案 0 :(得分:1)

我不知道你是否最终找到了答案,但我认为这可能有助于其他偶然发现你问题的人:

如上所述进行设置后,您可以使用getConnection方法从请求对象调用连接,如下所示:

exports.index = function(req, res) { 
    req.getConnection(function (err, connection) {
        connection.query('select * from table_name', function(err, rows, fields){
            if (err) {
                return res.status(400).send({
                    message: errorHandler.getErrorMessage(err)
                });
            } else {
                res.jsonp(rows);
            }
        });
    });
};

这应该打印出一个json,你的表的内容都很漂亮。 希望这会派上用场。