Created
December 1, 2017 12:27
-
-
Save swiftcafex/8ff2c9dd8534247ff9c247cc98e52e83 to your computer and use it in GitHub Desktop.
node mysql 使用例子
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var mysql = require('mysql'); | |
var fs = require("fs"); | |
function DBHelper() { | |
var env = process.env.NODE_ENV || "dev"; | |
if(env == "production") env = "prod"; | |
var data = fs.readFileSync("./database.json", "utf8"); | |
var json = JSON.parse(data); | |
var config = json[env]; | |
var database = config["database"]; | |
var user = config["user"]; | |
var pwd = config["password"]; | |
var host = config["host"]; | |
this.pool = mysql.createPool({ | |
connectionLimit : 10, | |
host : host, | |
user : user, | |
password : pwd, | |
database : database | |
}); | |
} | |
DBHelper.prototype.query = function(sql, params, callback) { | |
if(this.pool) { | |
this.pool.getConnection(function(err, connection){ | |
if(err) { | |
console.log(err); | |
callback(err); | |
} else { | |
if(typeof params === "function") { | |
connection.query(sql, function(err, rows){ | |
params(err, rows); | |
connection.release(); | |
}); | |
} else { | |
connection.query(sql, params, function(err, rows){ | |
callback(err, rows); | |
connection.release(); | |
}); | |
} | |
} | |
}); | |
} | |
}; | |
module.exports = new DBHelper(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment