node mysql 模块 封装_node封装mysql模块

'use strict';

const mysql= require('mysql');var local = true

varpool//创建连接池

if(local) {

pool=mysql.createPool({

connectionLimit:50,

host:'localhost',

user:'root',

password:'root',

database:'crawl',

multipleStatements:true //是否允许执行多条sql语句

});

}//将结果已对象数组返回

var row = (sql, ...params) =>{return new Promise(function(resolve, reject) {

pool.getConnection(function(err, connection) {if(err) {

reject(err);return;

}

connection.query(sql, params,function(error, res) {

connection.release();if(error) {

reject(error);return;

}

resolve(res);

});

});

});

};//返回一个对象

var first = (sql, ...params) =>{return new Promise(function(resolve, reject) {

pool.getConnection(function(err, connection) {if(err) {

reject(err);return;

}

connection.query(sql, params,function(error, res) {

connection.release();if(error) {

reject(error);return;

}

resolve(res[0] || null);

});

});

});

};//返回单个查询结果

var single = (sql, ...params) =>{return new Promise(function(resolve, reject) {

pool.getConnection(function(err, connection) {if(err) {

reject(err);return;

}

connection.query(sql, params,function(error, res) {

connection.release();if(error) {

reject(error);return;

}for (let i in res[0]) {

resolve(res[0][i] || null);return;

}

resolve(null);

});

});

});

}//执行代码,返回执行结果

var execute = (sql, ...params) =>{return new Promise(function(resolve, reject) {//获取连接

pool.getConnection(function(err, connection) {if(err) {

reject(err);return;

}//操作数据库

connection.query(sql, params, function(error, res) {//释放

connection.release();if(error) {

reject(error);return;

}

resolve(res);

});

});

});

}//模块导出

module.exports ={

ROW: row,

FIRST: first,

SINGLE: single,

EXECUTE: execute

}/*连接mysql*/

functionconnectToMysql() {var connection =mysql.createConnection({

host:'',

user:'',

password:'',

database:''});

connection.connect();//查询

connection.query('SELECT * FROM user;', function(err, rows, fields) {if (err) throwerr;

console.log('The solution is: ', rows[0]);

});//关闭连接

connection.end();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值