最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在Node.js中如何实现mysql事务自动回收连接

来源:动视网 责编:小采 时间:2020-11-27 19:39:43
文档

在Node.js中如何实现mysql事务自动回收连接

在Node.js中如何实现mysql事务自动回收连接:这篇文章主要介绍了Node.js实现mysql连接池使用事务自动回收连接的方法,结合实例形式分析了node.js操作mysql连接池实现基于事务的连接回收操作相关技巧,需要的朋友可以参考下本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法。分享给大家供大
推荐度:
导读在Node.js中如何实现mysql事务自动回收连接:这篇文章主要介绍了Node.js实现mysql连接池使用事务自动回收连接的方法,结合实例形式分析了node.js操作mysql连接池实现基于事务的连接回收操作相关技巧,需要的朋友可以参考下本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法。分享给大家供大


这篇文章主要介绍了Node.js实现mysql连接池使用事务自动回收连接的方法,结合实例形式分析了node.js操作mysql连接池实现基于事务的连接回收操作相关技巧,需要的朋友可以参考下

本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法。分享给大家供大家参考,具体如下:

var mysql = require('mysql'),
 Connection = require('mysql/lib/Connection.js');
var pool = mysql.createPool({
 host: '127.0.0.1',
 database: 'myDB',
 port: 3306,
 user: 'root',
 password: 'root',
 debug: false,
 connectionLimit: 3
});
var execPool = function() {
 pool.getConnection(function(err, conn) {
 transAutoRelease(conn);
 conn.beginTransaction(function(err) {
 if (err) throw err;
 conn.query("INSERT INTO test(id,name,date,test) values(1,'123',now(),1)",
 function(err, ret) {
 if (err) {
 console.error(err);
 conn.rollback(function() {});
 } else {
 console.log(ret);
 conn.query('UPDATE test set id=12321312 where id=1', function(err, ret) {
 if (err) {
 console.error(err);
 conn.rollback(function() {
 });
 } else {
 conn.commit(function() {
 console.log('success' + JSON.stringify(ret));
 });
 }
 });
 }
 });
 });
 });
}
function after(fn, cb) { return function() {
 fn.apply(this, arguments);
 cb();
 }
}
function transAutoRelease(conn) {
 if (conn.commit == Connection.prototype.commit)
 conn.commit = after(conn.commit, release);
 if (conn.rollback == Connection.prototype.rollback)
 conn.rollback = after(conn.rollback, release);
 function release() {
 if (conn) {
 conn.release();
 }
 }
}
var intervalStartProcess = function() {
 setInterval(function() {
 execPool();
 }, 1000);
}
for (var i = 5 - 1; i >= 0; i--) {
 intervalStartProcess();
}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

为什么Node.js会成为Web应用开发?

在Node.js中如何获取文件上传进度?

在javascript中如何实现最长公共子序列

文档

在Node.js中如何实现mysql事务自动回收连接

在Node.js中如何实现mysql事务自动回收连接:这篇文章主要介绍了Node.js实现mysql连接池使用事务自动回收连接的方法,结合实例形式分析了node.js操作mysql连接池实现基于事务的连接回收操作相关技巧,需要的朋友可以参考下本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法。分享给大家供大
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top