如何使用 getconnection 方法创建 Node js MySQL 池
How can I create a Node js MySQL pool with getconnection method
刚才说了学习node js,目前有这段代码
//Create a mysql connection pool
var pool = mysql.createPool({
connectionLimit : 100, //important
host : '127.0.0.1',
user : 'root',
password : '',
database : 'nodetuts',
debug : false
});
// retrieve database connection
var connection = function(callback) {
pool.getConnection(function(err, conn){
if (err) {
console.log(err);
return;
}
console.log('connected');
callback(err, conn);
});
};
//create tabase tables
connection.getConnection(function(err, conn){
if (!err){
console.log("Connected!");
var rl = readline.createInterface({
input: fs.createReadStream('struct.sql'),
terminal: false
});
rl.on('line', function(chunk){
conn.query(chunk.toString('ascii'), function(err, sets, fields){
if(err){
console.log(err);
}else{
console.log("Table created");
}
});
});
}
});
module.exports = connection;
我想在这个模块中为 运行 创建 tables 函数,但在其他模块中使用相同的连接。
创建table函数产生错误,
谁能提供帮助,我将不胜感激。
我正在玩这段代码,我想到了这个。
var mysql = require('mysql');
var fs = require('fs');
var readline = require('readline');
//Create a mysql connection pool
var pool = mysql.createPool({
connectionLimit : 100, //important
host : '127.0.0.1',
user : 'root',
password : '',
database : 'nodetuts',
debug : false
});
var saveConnection = pool.getConnection(function(err,conn){
if (err) {
console.log(err);
return;
}
//create tables
var createTables = function(conn){
connection.release();
var rl = readline.createInterface({
input: fs.createReadStream('struct.sql'),
terminal: false
});
rl.on('line', function(chunk){
conn.query(chunk.toString('ascii'), function(err, sets, fields){
if(err){
console.log(err);
}else{
console.log("Table created");
}
});
});
}
var findByPrimaryKey = connection.query("select * from user",function(err,rows){
connection.release();
if(!err) {
res.json(rows);
}
});
conn.on('error', function(err) {
console.log(err);
return;
});
console.log('connected');
});
module.exports = saveConnection;
现在我的问题是:我可以使用下面的方法访问 createTables 函数
saveConnection.createTables();
刚才说了学习node js,目前有这段代码
//Create a mysql connection pool
var pool = mysql.createPool({
connectionLimit : 100, //important
host : '127.0.0.1',
user : 'root',
password : '',
database : 'nodetuts',
debug : false
});
// retrieve database connection
var connection = function(callback) {
pool.getConnection(function(err, conn){
if (err) {
console.log(err);
return;
}
console.log('connected');
callback(err, conn);
});
};
//create tabase tables
connection.getConnection(function(err, conn){
if (!err){
console.log("Connected!");
var rl = readline.createInterface({
input: fs.createReadStream('struct.sql'),
terminal: false
});
rl.on('line', function(chunk){
conn.query(chunk.toString('ascii'), function(err, sets, fields){
if(err){
console.log(err);
}else{
console.log("Table created");
}
});
});
}
});
module.exports = connection;
我想在这个模块中为 运行 创建 tables 函数,但在其他模块中使用相同的连接。
创建table函数产生错误,
谁能提供帮助,我将不胜感激。
我正在玩这段代码,我想到了这个。
var mysql = require('mysql');
var fs = require('fs');
var readline = require('readline');
//Create a mysql connection pool
var pool = mysql.createPool({
connectionLimit : 100, //important
host : '127.0.0.1',
user : 'root',
password : '',
database : 'nodetuts',
debug : false
});
var saveConnection = pool.getConnection(function(err,conn){
if (err) {
console.log(err);
return;
}
//create tables
var createTables = function(conn){
connection.release();
var rl = readline.createInterface({
input: fs.createReadStream('struct.sql'),
terminal: false
});
rl.on('line', function(chunk){
conn.query(chunk.toString('ascii'), function(err, sets, fields){
if(err){
console.log(err);
}else{
console.log("Table created");
}
});
});
}
var findByPrimaryKey = connection.query("select * from user",function(err,rows){
connection.release();
if(!err) {
res.json(rows);
}
});
conn.on('error', function(err) {
console.log(err);
return;
});
console.log('connected');
});
module.exports = saveConnection;
现在我的问题是:我可以使用下面的方法访问 createTables 函数
saveConnection.createTables();