有空写完再补说明,手上的事情比较多,以后边做边完善接口。
app.js
var config = require('./config');
function Query(strquery,option){
DBFactory.call(this,option);
this.strquery = strquery;
}
Query.prototype = {
execute:function(callback){
var client = this.client;
var strquery = this.strquery;
this.client.query(strquery,callback);
}
}
function DBFactory(option){
if(option == undefined){
option = {};
}
this.type = option.type || "mysql";
this.port = option.port || 3306;
this.host = option.host || "localhost";
this.database = option.database || "";
this.user = option.user || "";
this.password = option.password || "";
switch(this.type){
case "mysql":
var mysql = require('mysql');
this.client = mysql.createConnection({
host:this.host,
user:this.user,
password:this.password
});
this.client.query('USE ' + this.database);
break;
default:
console.log('db.type error');
break;
}
};
function db_query(strquery,option){
if(option == undefined){
option = config.db;
}
return new Query(strquery,option);
}
var query = db_query('SHOW TABLES');
query.execute(function(err,data){
console.log(data);
});
config.js
var config = require('./config.json')
, env = process.env.NODE_ENV || 'development';
var envConfig = config.environment[env], i;
for (i in envConfig) {
config[i] = envConfig[i];
}
module.exports = config;
config.json
{
"environment": {
"development": {
"db": {
"type": "mysql",
"port": 3306,
"host": "192.168.238.135",
"database": "yalimap",
"user": "yalimap",
"password": "123456"
},
"server": {
"port": 3000,
"host": "127.0.0.1"
}
},
}