Golang之類庫學習-xorm


  通常講,框架都會封裝一個操作DB的orm操作類庫,可以兼容多種數據庫,並把底層操作常用方法統一命名,對於業務邏輯來講不用變動,相對於原生的SQL來用,不用關注每一個錯誤的異常和判斷。

  golang類庫xorm也是其中的一種,相關學習地址:https://gobook.io/read/gitea.com/xorm/manual-en-US/chapter-01/1.engine.html

  

  學習實踐:

  db:mysql 本地

  一,導入相關類庫,聲明engine xorm變量

  

import (
    _ "github.com/go-sql-driver/mysql"
    "xorm.io/xorm"
)

var engine *xorm.Engine

 

  二,連接DB

  

engine,err := xorm.NewEngine("mysql","root:@tcp(127.0.0.1:3306)/gotest?charset=utf8mb4&parseTime=True&loc=Local")
if err != nil {
    log.Fatal("db connect error",err)
}

  

  三,CURD操作

  針對DB的作品,不再一一綴述,就是提供了相對應的操作方法,及SQL的原生支持

  對table字段有一些關鍵字可以留意下,復用engine.sync2可以同步struct到數據庫生成表結構,針對生成的表名稱實驗得知 UserInfo會創建為user_info表名

  type UserInfo struct {
    Id int `xorm:"pk autoincr"`  自增
    Name string
    Age int
    Ctime int `xorm:"updated"`  每次更新會修改
    Version int `xorm:"version"`     樂觀鎖,全局的,UPDATE表字段 會 +1 對於並發場景可以嘗試使用,如果不想全局使用,可以針對某個字段建立一個類似的字段
  }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM