Node后台使用mysql并开启事务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Node后台使用mysql并开启事务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1554字,纯文字阅读大概需要3分钟。
内容图文
如题;node后台使用mysql数据库,并使用事务来管理数据库操作。
这里主要讲一个事务的封装并写了一个INSERT 插入操作。
code:
基础code:
1 const mysql = require(‘mysql‘) 2 3 const pool = mysql.createPool({ 4 connectionLimit: 20, //连接池连接数 5 host: ‘localhost‘, //数据库地址,这里用的是本地 6 database: ‘xxxx‘, //数据库名称 7 user: ‘xxxxx‘, // username 8 password: ‘*****‘ // password 9}) 10//返回一个Promise链接11 const connectHandle = () => new Promise((resolve, reject) => { 12 pool.getConnection((err, connection) => { 13if(err) { 14 console.error(‘链接错误:‘ + err.stack + ‘\n‘ + ‘链接ID:‘ + connection.threadId) 15 reject(err) 16 } else { 17 resolve(connection) 18 } 19 }) 20}) 21222324 module.exports = connectHandle
事务操作
1 const connectHandler = require(‘./db.config‘) //引入上面所讲的数据库基础配置 2 3 const insertHandler = async (vals) => { 4 const connection = await connectHandler() // 得到链接 5 const tablename = ‘xxxxx‘ //动态table(表)名称 6//开启事务 7 connection.beginTransaction( err => { 8if(err) { 9return ‘开启事务失败‘ 10 } else { 11//执行INSERT插入操作12 connection.query(`INSERT INTO ${tablename} SET ?`, vals, (e, rows, fields) => { 13if(e) { 14return connection.rollback(() => { 15 console.log(‘插入失败数据回滚‘) 16 }) 17 } else { 18 connection.commit((error) => { 19if(error) { 20 console.log(‘事务提交失败‘) 21 } 22 }) 23 connection.release() // 释放链接24return {rows, success: true} // 返回数据库操作结果这里数据格式可根据个人或团队规范来定制25 } 26 }) 27 } 28 }) 29} 303132 module.exports = { 33 insertHandler 34 }
相关操作步骤已经在注释中写明,本人实测有效。如需使用需加上自己的数据库配置及相关表明等动态配置。
有问题还原大家留言指正,国庆快到了祝大家节日快乐~
原文:https://www.cnblogs.com/leungUwah/p/9726978.html
内容总结
以上是互联网集市为您收集整理的Node后台使用mysql并开启事务全部内容,希望文章能够帮你解决Node后台使用mysql并开启事务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。