通过nodejs访问mysql数据库的最佳实践

时间:2017-10-10 13:35:51

标签: mysql node.js

目前,我正在使用express运行节点js后端,以便从客户端访问mysql数据库。现在,我正在重构我的代码以放入" fat"从客户端到nodejs后端的东西。 我的第一个想法是保持快速路线,如:

ModuleA:

router.get('/getitem/:code',(req, res) => {
let sql = `SELECT * FROM xyz WHERE CODE = ${req.params.code}`;
let query = db.query(sql, (err, result) =>{
  if(err == null){
    console.log(result);
    res.send(result);
  }else{
    console.log("Error by getting item from db: " + err);
    throw err;
  }
 });
});

如果需要,可以通过其他模块通过http请求访问它:

function geodataByLocationcode(locationcode){
 request({
  method: 'GET',
  url: "http://" + server_connection.host + ":" + server_connection.port + '/getitem/' + locationcode,
  headers: {
    "Content-Type": "application/json"
  }
 },function(error, response, body){
 ....
 }

但这是最好的方法吗? 或者以更直接的方式访问数据库会更好 既然请求现在也来自后端?

1 个答案:

答案 0 :(得分:5)

你可以找到一个很好的例子,说明如何使用本机驱动程序使用MySql和Node.js(没有任何查询构建器,如knex或ORM,如书架)。

依赖关系:

  • expressjs 4.x
  • mysql2

expressjs 4.x

核心概念是:

示例:https://github.com/Talento90/organization-api/tree/master/organizations-api/src