记录一下nodejs调用数据库连接池的代码

这篇博客分享了如何在Node.js中实现数据库连接池的功能,以优化数据库操作性能。通过实例代码展示了如何配置和调用MySQL的连接池,为后端开发提供了一个实用的参考。
摘要由CSDN通过智能技术生成

直接上代码

/**
* @param {Object} payload 上一节点的输出
* @param {Object} node 指定某个节点的输出
* @param {Object} query 服务流第一个节点的输出
* @param {Object} context { appKey, appSecret }
* @param {Object} global 变量
*/

module.exports = async function(payload, node, query, context, global) {
	const mysql = require('mysql');
	const moment = require('moment');
	var name = query.name;
	var phone = query.phone;
	var deviceNames = query.deviceNames;
	var type = query.type;
	var permission = query.permission;
	var company = query.company;
	var createTime = moment(new Date).add(8, "hours").format("YYYY-MM-DD HH:mm:ss");
	const pool = mysql.createPool({
		host: '自己的数据库host',
		user: '自己的数据库用户名',
		password: '自己的数据库密码',
		port: '3306',
		database: '自己的数据库名',
		multipleStatements: true,
		supportBigNumbers:true,
	});
	var str = '';
	if(deviceNames!=''&&deviceNames!=undefined){
    	if(deviceNames.indexOf(',')!=-1){
    		//包含,
			var arr = deviceNames.split(",");
			arr.map(function(item){
				if(item!=''){
					str+= '(\''+name+'\',\''+phone+'\','+type+','+permission+',\''+createTime+'\',\''+item+'\',\''+company+'\'),';
				}
			});
			str = str.substring(0,str.length-1);
    	}else{
    		str = '(\''+name+'\',\''+phone+'\','+type+','+permission+',\''+createTime+'\',\''+deviceNames+'\',\''+company+'\')';
    	}
    	var sqlStr = "REPLACE INTO device_user (name,phone,type,permission,create_time,device_name,company) VALUES "+str;
    	console.log(sqlStr);
		if(str != ''){
			const promise = new Promise(function(resolve, reject) { 
				pool.getConnection(function(err, connection) {
				  if (err) {
					reject( err )
				  } else {
					connection.query(sqlStr, ( err, rows) => {
					  if ( err ) {
						reject( err )
					  } else {
						resolve( rows )
					  }
					  // 结束会话
					  connection.release()
					})
				  }
				});
			});
			await promise.then(function(data){
				console.log("success ",data);
			},function(err){
				console.log("err ",err);
			});
		}
	}
	return null;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值