Golang xorm工具,根據資料庫自動產生 go 代碼

來源:互聯網
上載者:User

標籤:drive   driver   HERE   技術   height   cache   函數   mit   命令   

使用 golang 操作資料庫的同學都會遇到一個問題 —— 根據資料表結構建立對應的 struct 模型。因為 golang 的使用首字母控制可見範圍,我們經常要設計 struct 欄位名和資料庫欄位名的對應關係。久而久之,這是一個非常繁瑣的過程。事情變得繁瑣了,我們都會想,有沒有好的辦法自動產生 model 呢?今天,記錄一種自動產生代碼的方法 —— xorm 工具。

關於 xorm

xorm是一個簡單而強大的Go語言ORM庫. 通過它可以使資料庫操作非常簡便。我在項目中經常使用,它的特性如下、

  • 支援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 是一組資料庫操作命令的工具,包含如下命令:

  • reverse 反轉一個資料庫結構,產生代碼
  • shell 通用的資料庫操作用戶端,可對資料庫結構和資料操作
  • dump Dump資料庫中所有結構和資料到標準輸出
  • source 從標註輸入中執行SQL檔案
  • driver 列出所有支援的資料庫驅動

那我們該如何使用 reverse 命令根據資料表結構產生 go 代碼呢?

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

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

go build

這時在此目錄了下產生xorm.exe檔案

接下來開始執行

./xorm reverse mysql root:[email protected]?charset=utf8 templates/goxorm

接下來在目前的目錄models中產生以下檔案:

 

Golang xorm工具,根據資料庫自動產生 go 代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.