实践人生

GO web 开发 实战三,数据库预处理

2023-02-06  本文已影响0人  阿兵云原生

上一篇文章我们进行了数据操作,都是使用占位符的方式来操作的

咱们其实可以使用 mysql 预处理的方式来操作这些

那么我们一起来看看什么是已处理呢?

什么是预处理?

了解什么是预处理,我们可以来对比一下,普通的 sql 语句执行过程和 预处理的执行过程

普通 sql 语句执行过程:

预处理执行过程:

通过步骤和流程,我们大概知道预处理肯定比普通的 sql 执行快

那么预处理有啥好处?

//预处理 插入数据操作
func prepareInfo(db *sql.DB) {
    sqlInfo := "insert into user (name,age)values(?,?)"

    stmt, err := db.Prepare(sqlInfo)
    if err != nil {
        fmt.Println("Exec err : ", err)
        return
    }

    ret, err := stmt.Exec("花猪2", 28)
    if err != nil {
        fmt.Println("stmt Exec err : ", err)
        return
    }
    ret, err = stmt.Exec("花猪3", 28)
    if err != nil {
        fmt.Println("stmt Exec err : ", err)
        return
    }

    rows, err := ret.RowsAffected()
    if err != nil {
        fmt.Println("stmt Exec err : ", err)
        return
    }
    fmt.Println("rows = ", rows)

}

Go实现 MySQL 的事务

sqlx使用

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

gin + mysql + rest full api

当然 之前说到的 http 包里面的方法实现,我们也不需要用它了,咱们也可以交给框架,真的是可以做到高效实现业务,但同时,自己下来还是要去对具体的实现原理多研究研究

实践如下步骤:

上图是实践过程中产生的数据

需要源码进行参考对比的 xdm ,可以评论或者私信,感谢能有反馈

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

image

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是小魔童哪吒,欢迎点赞关注收藏,下次见~

上一篇 下一篇

猜你喜欢

热点阅读