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

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

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

  1. 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会成为Web应用开发?

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

以上就是在Node.js中如何实现mysql事务自动回收连接的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    怎样操作日历范围选择插件

    2025-3-31 23:03:38

    编程技术

    通讯录首字母检索功能实现

    2025-3-31 23:03:53

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索