xorm的基本使用
中文文檔:http://www.xorm.io/docs/
github地址:https://github.com/go-xorm/xorm
安裝:go get github.com/go-xorm/xorm
基本使用
1.創建連接
2.創建映射(可以手動編寫也可以使用工具生成)
數據庫對應的表:
對應的結構體:
type User struct {Id int `xorm:"not null pk autoincr INT(11)"`Username string `xorm:"not null VARCHAR(32)"`Birthday time.Time `xorm:"DATE"`Sex string `xorm:"CHAR(1)"`Address string `xorm:"VARCHAR(256)"` }工具自動生成方法:使用xorm工具
安裝工具:go get github.com/go-xorm/cmd/xorm
命令行輸入:xorm reverse mysql root:密碼@/xorm?charset=utf8 /home/tym/golib/src/github.com/go-xorm/cmd/xorm/templates/goxorm/
/home/tym/golib/src/github.com/go-xorm/cmd/xorm/templates/goxorm/這一串是模版的位置(GOPATH/src里)
不寫生成路徑會在你的目錄下建一個model,對應文件生成在model中
3.增刪改查演示
package mainimport ("github.com/go-xorm/xorm""time""fmt""github.com/go-xorm/core"_ "github.com/go-sql-driver/mysql")type User struct {Id int `xorm:"not null pk autoincr INT(11)"`Username string `xorm:"not null VARCHAR(32)"`Birthday time.Time `xorm:"DATE"`Sex string `xorm:"CHAR(1)"`Address string `xorm:"VARCHAR(256)"` }func main() {//創建orm引擎engine, err := xorm.NewEngine("mysql", "root:123456@/xorm?charset=utf8")if err!=nil{fmt.Println(err)return}//連接測試if err := engine.Ping(); err!=nil{fmt.Println(err)return}//日志打印SQLengine.ShowSQL(true)//設置連接池的空閑數大小engine.SetMaxIdleConns(5)//設置最大打開連接數engine.SetMaxOpenConns(5)//名稱映射規則主要負責結構體名稱到表名和結構體field到表字段的名稱映射engine.SetTableMapper(core.SnakeMapper{})//增//user := new(User)//user.Username="tyming"//affected,err := engine.Insert(user)//fmt.Println(affected)//刪//user := new(User)//user.Username="tyming"//affected_delete,err := engine.Delete(user)//fmt.Println(affected_delete)//改//user := new(User)//user.Username="tyming"//affected_update,err := engine.Id(1).Update(user)//fmt.Println(affected_update)//查user := new(User)//result,err := engine.Id(1).Get(user)result,err := engine.Where("id=?",1).Get(user)fmt.Println(result)}xorm更多操作可以參考:
1)中文文檔:http://www.xorm.io/docs/
2)github的README.md:https://github.com/go-xorm/xorm
總結
- 上一篇: 快递包裹自动化分拣系统_包裹识别系统的类
- 下一篇: vue3使用vant4-showToas