DAPP智能合约系统开发代码部署方案介绍

简介: DAPP智能合约系统开发代码部署方案介绍

Go实现 MySQL 的事务
开启事务处理,会有回滚机制,全部成功了,且提交成功,才算事务处理成功
func (db DB) Begin() (Tx, error) 事务开始
func (tx *Tx) Commit() error 事务提交
func (tx *Tx) Rollback() error 事务回滚

func trasaction(db *sql.DB) {

//开启一个事务

tx, err := db.Begin()
if err != nil {
    if tx != nil {
        tx.Rollback()
    }
    fmt.Printf("Begin err :%v", err)
    return
}

sqlStr := "update user set name='xxx' where id=?"
_, err = tx.Exec(sqlStr, 9)
if err != nil {
    if tx != nil {
        tx.Rollback()
    }
    fmt.Printf("Exec err :%v", err)
    return
}

sqlStr = "update user set name='xxx' where id=?"
_, err = tx.Exec(sqlStr, 6)
if err != nil {
    if tx != nil {
        tx.Rollback()
    }
    fmt.Printf("Exec err :%v", err)
    return
}

//提交事务
err = tx.Commit()
if err != nil {
    if tx != nil {
        tx.Rollback()
    }
    fmt.Printf("Commit err :%v", err)
    return
}

fmt.Println("commit success ")

}
sqlx使用
咱们还可以使用第三方库 sqlx

安装第三方库 sqlx ,go get github.com/jmoiron/sqlx
第三方库可以提交高开发效率,简化开发操作

package main

import (

"fmt"
"github.com/jmoiron/sqlx"
_ "github.com/go-sql-driver/mysql" // 注释掉后异常 _ 调用初始化函数

)

var db *sqlx.DB

func insertInfo() {

sqlStr := "insert into user(name,age)values(?,?)"
res, err := db.Exec(sqlStr, "xxx", 2)
if err != nil {
    fmt.Printf("Exec err : %v", err)
    return
}
id, err := res.LastInsertId()
if err != nil {
    fmt.Printf("LastInsertId err : %v", err)
    return
}
fmt.Printf("id == %d", id)

rows, err := res.RowsAffected()
if err != nil {
    fmt.Printf("RowsAffected err : %v", rows)
    return
}
fmt.Printf("rows == %d", rows)
return

}

func main() {

var err error
dsn := "root:123456@tcp(127.0.0.1:3306)/go_test?charset=utf8mb4"
db, err = sqlx.Connect("mysql", dsn)
if err != nil {
    fmt.Printf("Connect err : %v\n", err)
    return
}
db.SetMaxOpenConns(20)
db.SetMaxIdleConns(10)

//插入数据
insertInfo()

}

相关文章
DAPP合约系统开发逻辑技术丨DAPP成熟系统开发技术方案
动态调用允许调用者在运行时指定被调用合约及方法,无需预先知道接口。中断配置通常包括:启用外设中断、设置中断优先级分组和使能中断请求。NVIC_InitTypeDef结构体用于中断配置,包含中断源、抢占优先级、响应优先级和使能状态。中断源定义在IRQn_Type枚举中,如WWDG_IRQn、PVD_IRQn等。抢占优先级值依赖于优先级分组设定。
|
6月前
|
算法 大数据 分布式数据库
DAPP质押模式系统开发项目方案|DAPP合约开发案例
区块链技术是一种分布式数据库技术,它是由多个节点构成的去中心化网络
|
存储 前端开发 算法
DAPP系统开发智能合约系统去中心化系统模式定制开发
去中心化,是互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
|
6月前
|
安全 区块链
DAPP模式系统开发设计方案丨DAPP合约系统开发技术方案
DAPP模式系统开发设计方案丨DAPP合约系统开发技术方案
|
6月前
|
安全 测试技术 区块链
“DApp智能合约开发:流程、难点与解决方案”
DApp(去中心化应用)是一种运行在区块链上的程序,旨在为用户提供一种去中心化的、安全的、抗审查的应用体验。
|
存储 安全 区块链
  DAPP趣步模式系统开发部署
虽然有很多人看好区块链技术,但也要看到推动人类发展的技术有很多种,哪种技术更方便更高效,人们就会应用该技术。
|
安全 区块链
DAPP智能合约链游系统开发源码部署示例
  //SPDX-License-Identifier:MIT   pragma solidity^0.8.0;   contract Game{   //游戏合约的名称   string public name;   //游戏玩家的地址   mapping(address=>bool)public players;   //玩家的分数
|
区块链 存储
DAPP智能合约系统开发详细技术及方案项目
区块的作用就是将不同时间阶段内的交易数据按照一定的格式和数量,打包成结构化数据,方便存储和管理。
|
机器学习/深度学习 存储 传感器
Mortonn摩顿DAPP合约系统开发项目方案
Mortonn摩顿DAPP合约系统开发项目方案
176 0
下一篇
无影云桌面