如何在nodejs中编写数据库模块

时间:2017-09-09 15:20:28

标签: javascript mysql node.js database

在我的项目中,我正在使用MySQL数据库。问题是,我不知道如何将简单的数据库模块写入一个js文件。

我的代码是:

文件:database.js

var mysql = require("mysql");

var connection = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "mydb"
});

module.exports = class Database {

    constructor() {
        connection.connect(function (err) {
            if (err) {
                console.error(err);
                throw err;
            } else {
                console.log("Connection to database was successful");
            }
        });
    }

    getConnection() { return connection; }
};

我在项目中有很多文件,每个人都需要使用数据库,问题是,当我每次调用导入database.js构造函数时,我认为,这是一个不好的方法。

有没有更好的方法如何在项目中使用数据库连接?有些想法来自getConnection()文件中的database.js,而没有调用构造函数。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

可能的解决方案:

const mysql = require("mysql"),
      connection = mysql.createConnection({
          host: "localhost",
          user: "root",
          password: "",
          database: "mydb"
      });

connection.connect(function (err) {
    if (err) {
      console.error(err);
      throw err;
   } else {
    console.log("Connection to database was successful");
  }
});

module.exports =  {
  getConnection() { return connection; }
};

答案 1 :(得分:0)

导出write时的database.js文件中:

modules.exports = new Database();

并使用

require('./path/to/database-file')

无论您何时使用该实例,它都将始终获得相同的对象。