zoukankan      html  css  js  c++  java
  • Node.js 中 mysql 事务的写法

    最近做一个公司内部的信息化平台,本着短平快,选择了 Nodejs + Express + Vue + mysql/mongodb 的技术路线.

    该写法主要利用了递归,下面把事务的写法记录一下,做了简单的封装:

    const mysql = require('mysql')
    const cfg = require('../appConfig.json')
    
    var sqlpool = mysql.createPool(cfg.mysql)
    const conns = {
      sqlpool: sqlpool,
      transaction(SQLs, res) {
        this.sqlpool.getConnection((err, conn) => {
          if (err) {
            res.status(400).end()
            return
          }
          conn.beginTransaction(err => {
            if (err) {
              res.status(400).end()
              return
            }
            this.exeQuery(conn, SQLs, res)
          })
       conn.release() }) }, exeQuery(con, SQLs, res) {
    if (!SQLs.length) { con.commit(function (err) { if (err) { res.status(400).end() return con.rollback() } res.status(200).end()
         return }) }
      else{   let s
    = SQLs.shift()   con.query(s, err => {   if (err) {   con.rollback()   res.status(400).end()   return   }   this.exeQuery(con, SQLs, res)   })
      } } } module.exports
    = conns

    不开心,码几行字.

  • 相关阅读:
    ssrf简介
    Mysql 命令 load data infile
    基于约束的SQL注入笔记
    ms17-010
    thinkphp5.0&5.1命令执行 和 thinkphp3.2.3sql注入
    抓取分析菜刀流量
    lamp环境的搭建
    php伪协议
    LeetCode-336 Palindrome Pairs
    LeetCode-335 Self Crossing
  • 原文地址:https://www.cnblogs.com/ShengunErshu/p/14139687.html
Copyright © 2011-2022 走看看