node.js基于工厂方法的mysql模块封装

有空写完再补说明,手上的事情比较多,以后边做边完善接口。

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"
            }
        },

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值