我正在开发一个应用程序接口与node.js,快速等,使用mysql数据库。我正在使用node-mysql连接数据库并对其执行查询。
为了有一个干净的代码,我把它分成了控制器和模型。但我面对的是:
models/user.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : 3307,
user : 'root',
password : 'root',
database : 'db'
});
User.prototype.blablabla = function() {
...
connection.query(...);
}模型/admin.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : 3307,
user : 'root',
password : 'root',
database : 'db'
});
Admin.prototype.blablabla = function() {
...
connection.query(...);
}问题是,我必须在每个文件上创建到我的数据库的连接,即使我只想要一个我调用的文件,当我完成时,我关闭它。
但是在这种配置下,使用使用回调和其他东西的控制器,我不能关闭连接。它总是在运行。
我正在寻找一种只使用数据库连接的一个实例的安全方法。这是一个很好的方法吗?我如何才能做到这一点?
发布于 2016-05-09 05:41:33
为这个连接信息创建一个特定的文件怎么样?
/connection.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : 3307,
user : 'root',
password : 'root',
database : 'db'
});
module.exports = connection;因为require缓存了它加载的模块,所以连接只会打开一次。参考http://fredkschott.com/post/2014/06/require-and-the-module-system/
然后,请注意,要关闭连接,可以使用连接实例及其方法end
connection.end();https://stackoverflow.com/questions/37104675
复制相似问题