const mysql = require('mysql');
let connection = mysql.createConnection(...);
connection.connect((err)=>{
...
connection.query((err)=>{
...
connection.end();});
});
После закрытия соединения, используя
connection.end()
если я хочу снова запросить базу данных с использованием тех же учетных данных, мне нужно создать новое соединение, позвонив
mysql.createConnection(...)
Или я могу повторно использовать одно и то же соединение, просто позвонив
connection.connect(...)
Немного о себе: я размещаю приложение углового /node.js на общедоступном веб-хостинге, а веб-хост имеет максимум 25 одновременных подключений к базе данных mySQL, поэтому мне нужно убедиться, что я правильно закрываю соединение после пользователь делает свой запрос. Я не уверен, могу ли я повторно использовать соединение, созданное mysql.createConnection(...) после закрытия этого соединения, или мне нужно создать совершенно новое соединение.
Вы можете использовать одно глобальное соединение для получения данных из db.
Если вы работаете над одним файлом, чем можете
Только один файл app.js
var mysql = require('mysql');
var connection = mysql.createConnection(...);
connection.query('SELECT 1', function (error, results, fields) {
if (error) throw error;
// connected!
});
если вы хотите использовать одно и то же соединение в нескольких файлах, чем можете
app.js
app.use(
connection(mysql, {
host: xxxxx,
user: 'root',
password : xxxx,
port : 3306,
database:dbname
},'pool'),
);
var oem = require('./routes/type');
app.get('/api/oemtype',oem.type);
Для второго файла type.js
exports.type = function(req, res){
req.getConnection(function(err,connection){
var query = connection.query('SELECT * FROM type',function(err,rows)
{
if(err)
res.json({
status:0
});
res.send(rows);
res.render('customers',{page_title:"Customers - Node.js",data:rows});
});
});
};
Не нужно использовать connection.end().