mysql node null_node使用mysql

const mysql = require("mysql");

functionhandleError(){

getConn()

}functiongetConn(){var db = null;var pingInterval = null;var set = {

host:'localhost',

user = 'root',

password = 'root',

database = 'database',

multipleStatements: true

};

if(db !== null){

db.destroy();

db= null;

}

db=mysql.createConnection(set)

db.connect(function(err){if(err){

setTimeout(connect,2000)

}

});

db.on('error', handleError)//每个小时ping一次数据库,保持数据库连接状态

clearInterval(pingInterval);

pingInterval= setInterval(() =>{

console.log('ping...');

db.ping((err)=>{if(err) {

console.log('ping error: ' +JSON.stringify(err));

}

});

},3600000);returndb;

}/**

* @param {number} type 1是所有数据,2是获取只取一条,3是count(*)

**/

function execute(sql, type = 1){var promise = new Promise(function(resolve, reject){var db =getConn();

db.query(sql,function(err, result) {if(err){

console.log('[SELECT ERROR] - ', err.message);return}var resultStr =JSON.stringify(result);var json =JSON.parse(resultStr);if(type == 1){

resolve(json)

}else if(type == 2){

resolve(json[0])

}else if(type == 3){

resolve(json[0]['count(*)'])

}

});

db.end()

})

promise.then(function(value){returnvalue

},function(value){})returnpromise

}/**

* 批量执行sql

* @param {sql} sql sql语句

* @param {array} sql_param 要操作的数据(数组)*/

functionmany_execute(sql, sql_param){if (sql_param == ""){return}var db =getConn()

db.query(sql, [sql_param],function(err, result){if(err){

console.log('[SELECT ERROR] - ', err.message)return}//console.log(result);

returnresult;

})

db.end()

}/**

* 删除

* @param {str} table 表名

* @param {str} delSr where语句*/

functiondel(table, delSr){

execute("delete from "+ table +" where "+delSr)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值