Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法示例
更新時間:2018年02月03日 10:43:29 作者:anhuisunfei
這篇文章主要介紹了Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法,結(jié)合實例形式分析了node.js操作mysql連接池實現(xiàn)基于事務(wù)的連接回收操作相關(guān)技巧,需要的朋友可以參考下
本文實例講述了Node.js實現(xiàn)mysql連接池使用事務(wù)自動回收連接的方法。分享給大家供大家參考,具體如下:
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();
}
希望本文所述對大家nodejs程序設(shè)計有所幫助。
相關(guān)文章
nodejs實現(xiàn)發(fā)出蜂鳴聲音(系統(tǒng)報警聲)的方法
這篇文章主要介紹了nodejs實現(xiàn)發(fā)出蜂鳴聲音(系統(tǒng)報警聲)的方法,結(jié)合實例形式分析了nodejs發(fā)出蜂鳴聲的原理及具體應(yīng)用方法,需要的朋友可以參考下2017-01-01
基于NodeJS+MongoDB+AngularJS+Bootstrap開發(fā)書店案例分析
這章的目的是為了把前面所學(xué)習(xí)的內(nèi)容整合一下,這個示例完成一個簡單圖書管理模塊,因為中間需要使用到Bootstrap這里先介紹Bootstrap2017-01-01
node.js模擬實現(xiàn)自動發(fā)送郵件驗證碼
這篇文章主要為大家介紹了node.js模擬實現(xiàn)自動發(fā)送郵件驗證碼的實例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04

