我正在使用NodeJ和MySQL。在查看node-mysql之后,我正在使用MySQL with Node.js。现在的问题是我试图只进行一次数据库连接并在其中使用GET但它无法正常工作。 代码:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret',
});
connection.connect(function(err) {
// connected! (unless `err` is set)
app.get('/hello',function(req,res){
console.log('Hello');
res.send('Hi');
});
});
但上面的代码不起作用。它没有认识到这条路线。但是在每个get函数内部建立连接都有效。 我应该做错事。有什么方法可以连接到Db一次吗?
答案 0 :(得分:1)
您应将app.get
的呼叫转移到文件的顶级范围。这些调用是声明性的,应该被认为更像是配置应用程序而不是应用程序的业务逻辑。在mysql文档中,如果调用connection
并且尚未建立连接,则connection.query
对象将自动隐式打开与数据库的连接。这听起来像你应该利用的机制。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret',
});
app.get('/hello',function(req,res){
console.log('Hello');
connection.query('select * from users', function (error, result) {
res.send('Hi');
});
});