Golang xorm工具,根據數據庫自動生成 go 代碼

使用 golang 操做數據庫的同窗都會遇到一個問題 —— 根據數據表結構建立對應的 struct 模型。由於 golang 的使用首字母控制可見範圍,咱們常常要設計 struct 字段名和數據庫字段名的對應關係。長此以往,這是一個很是繁瑣的過程。事情變得繁瑣了,咱們都會想,有沒有好的辦法自動生成 model 呢?今天,記錄一種自動生成代碼的方法 —— xorm 工具。mysql

關於 xorm

xorm是一個簡單而強大的Go語言ORM庫. 經過它能夠使數據庫操做很是簡便。我在項目中常用,它的特性以下、git

  • 支持Struct和數據庫表之間的靈活映射,並支持自動同步表結構
  • 事務支持
  • 支持原始SQL語句和ORM操做的混合執行
  • 使用連寫來簡化調用
  • 支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函數和結構體等方式做爲條件
  • 支持級聯加載Struct
  • 支持LRU緩存(支持memory, memcache, leveldb, redis緩存Store) 和 Redis緩存
  • 支持反轉,即根據數據庫自動生成xorm的結構體
  • 支持事件
  • 支持created, updated, deleted和version記錄版本(即樂觀鎖)

xorm 工具

xorm 是一組數據庫操做命令的工具,包含以下命令:github

  • reverse 反轉一個數據庫結構,生成代碼
  • shell 通用的數據庫操做客戶端,可對數據庫結構和數據操做
  • dump Dump數據庫中全部結構和數據到標準輸出
  • source 從標註輸入中執行SQL文件
  • driver 列出全部支持的數據庫驅動

那咱們該如何使用 reverse 命令根據數據表結構生成 go 代碼呢?golang

go get github.com/go-xorm/cmd/xorm
go get github.com/go-xorm/xorm

到GOPATH\src\github.com\go-xorm\cmd\xorm 目錄下,執行redis

go build

這時在此目錄了下生成xorm.exe文件sql

接下來開始執行shell

./xorm reverse mysql root:password@test?charset=utf8 templates/goxorm

接下來在當前目錄models中生成如下文件:數據庫

相關文章
相關標籤/搜索