node.js 事物处理 mysql
2014-11-01 22:02
246 查看
/*
* GET home page.
*/
var queues = require('mysql-queues');
var async = require('async');
var db = require('./DBManager');
var appPool = require('./app-pooling');
exports.index = function(req, res){
var conn = db.db_conn();
conn.connect();
queues(conn);
var trans = conn.startTransaction();
async.series([
function(callback1){
console.log('111111111111111111111111111');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";
trans.query(sql,function(err,info){
console.log(err+'aaaaaaaaaaaaaaaaaaaa');
callback1(err,info);
});
},
function(callback2){
console.log('222222222222222222222222');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');
callback2(err,info);
});
},
function(callback3){
console.log('33333333333333333333');
var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'ccccccccccccccccc');
callback3(err,info);
});
}
],function(err,results){
if (err) {
console.log("rollback");
// 出错的场合 回滚
trans.rollback();
} else {
// 没有错误的场合 提交事务
console.log('55555555555555555555555');
// trans.commit();
trans.commit(function(err, info) {
console.log(info);
conn.end();
});
// conn.end();
// conn.destroy();
}
console.log('final');
// conn.release();
// conn.end();
});
// 执行这个事务
trans.execute();
console.log('4444444444444444');
res.send('完成');
};
exports.indexOld = function(req, res){
console.log('删掉的丰盛的');
appPool.pool.getConnection(function (err, conn) {
var trans = conn;
async.series([
function(callback1){
console.log('111111111111111111111111111');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";
trans.query(sql,function(err,info){
console.log(err+'aaaaaaaaaaaaaaaaaaaa');
callback1(err,info);
});
},
function(callback2){
console.log('222222222222222222222222');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');
callback2(err,info);
});
},
function(callback3){
console.log('33333333333333333333');
var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'ccccccccccccccccc');
callback3(err,info);
});
}
],function(err,results){
if (err) {
console.log("rollback");
// 出错的场合 回滚
trans.rollback();
} else {
// 没有错误的场合 提交事务
console.log('55555555555555555555555');
trans.commit();
}
console.log('final');
});
// 执行这个事务
console.log('4444444444444444');
res.send('完成');
});
}
* GET home page.
*/
var queues = require('mysql-queues');
var async = require('async');
var db = require('./DBManager');
var appPool = require('./app-pooling');
exports.index = function(req, res){
var conn = db.db_conn();
conn.connect();
queues(conn);
var trans = conn.startTransaction();
async.series([
function(callback1){
console.log('111111111111111111111111111');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";
trans.query(sql,function(err,info){
console.log(err+'aaaaaaaaaaaaaaaaaaaa');
callback1(err,info);
});
},
function(callback2){
console.log('222222222222222222222222');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');
callback2(err,info);
});
},
function(callback3){
console.log('33333333333333333333');
var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'ccccccccccccccccc');
callback3(err,info);
});
}
],function(err,results){
if (err) {
console.log("rollback");
// 出错的场合 回滚
trans.rollback();
} else {
// 没有错误的场合 提交事务
console.log('55555555555555555555555');
// trans.commit();
trans.commit(function(err, info) {
console.log(info);
conn.end();
});
// conn.end();
// conn.destroy();
}
console.log('final');
// conn.release();
// conn.end();
});
// 执行这个事务
trans.execute();
console.log('4444444444444444');
res.send('完成');
};
exports.indexOld = function(req, res){
console.log('删掉的丰盛的');
appPool.pool.getConnection(function (err, conn) {
var trans = conn;
async.series([
function(callback1){
console.log('111111111111111111111111111');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";
trans.query(sql,function(err,info){
console.log(err+'aaaaaaaaaaaaaaaaaaaa');
callback1(err,info);
});
},
function(callback2){
console.log('222222222222222222222222');
var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');
callback2(err,info);
});
},
function(callback3){
console.log('33333333333333333333');
var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";
trans.query(sql,function(err,info){
console.log(err+'ccccccccccccccccc');
callback3(err,info);
});
}
],function(err,results){
if (err) {
console.log("rollback");
// 出错的场合 回滚
trans.rollback();
} else {
// 没有错误的场合 提交事务
console.log('55555555555555555555555');
trans.commit();
}
console.log('final');
});
// 执行这个事务
console.log('4444444444444444');
res.send('完成');
});
}
相关文章推荐
- node.js 事物处理 mysql
- Mysql 数据分页处理(Node.js的实现)
- nodeJS express mysql 高并发时连接数不够用问题 以及如何处理高并发
- node.js使用mysql模块的坑
- Node.js + MySQL
- MySQL之高级应用——存储引擎与事物处理
- Node.js调用mysql的存储过程
- php中处理数据时用mysql事物处理
- Node.js 连接 MySQL 并进行数据库操作
- 安装node.js,CoffeeScript,Express.js,mysql,jade
- Node.js的事件处理
- Node.js,Express,Mysql小结1
- Nodejs HTTP请求的超时处理(Nodejs HTTP Client Request Timeout Handle)
- Node.js连接mysql
- Node.js连接Mysql
- Node.js开发指南中的简单实例(mysql版)
- php 处理 mysql to json, 前台js处理
- Node.js的Express运行问题处理
- node.js基于工厂方法的mysql模块封装
- php mysql事物处理