1.安裝
go get -u github.com/jinzhu/gorm
2.連線資料庫(以mysql為例)
)func main()3.結構體例項,注意:首字母要大寫
type user struct
4.檢查表users是否存在
db.hastable("users")
db.hastable(&user{})
5.建立表
db.createtable(&user{})//如果表已存在,會拋異常
// 指定表名
db.table("deleted_users").createtable(&user{})
6.刪除表
db.droptable("users")
db.droptable(&user{})
7.修改列的資料型別
db.model(&user{}).modifycolumn("name", "text")
8.刪除列
db.model(&user{}).dropcolumn("name")
9.新增索引
db.model(&user{}).addindex("idx_user_name", "name")
10.新增組合索引
db.model(&user{}).addindex("idx_user_name_age", "name", "city_id")
11.新增唯一索引
db.model(&user{}).adduniqueindex("idx_user_name", "name")
12.刪除索引
db.model(&user{}).removeindex("idx_user_name_age")
13.模型的定義
type email struct
type address struct
type language struct
type user struct
14.全域性禁用表名複數
db.singulartable(true)
15.重設列名
type animal struct
16.欄位id為主鍵
type user struct
// 使用tag`primary_key`用來設定主鍵
type animal struct
17.插入一條記錄
user := user
db.newrecord(user) // => 主鍵為空返回`true`
db.create(&user)
ps:如果插入時不指定主鍵id的值,預設是+1遞增;如果插入指定主鍵的值出現了重複,插入不成功,但是也不會報錯誤
18.在表字段中設定預設值
type animal struct
Gorm學習小記
gorm學習手冊 go學習中文網提供手冊 1 模型結構體欄位設定標籤注意點 tag 如 gorm json form 後面的冒號與雙引號之間不能有空格 同一種tag,不同屬性定義使用 分隔 不同tag 使用空格 分隔 使用預載入preload,需要在結構體中指明外來鍵 不指名則預設是預載入表的主鍵作...
Grails學習筆記之GORM
1.關聯查詢 假設有以下領域物件 class account class transaction def c account.createcriteria def now new date def results c.list eq transaction.id 1 as long 如果是關聯的id...
gorm踩坑記錄 一
情況是這樣的 我用gorm裡面的create往mysql裡面插入一條記錄,這個記錄裡面有乙個建立時間的字段,然後開始的時候是這樣的 這是我資料庫的字段 之後用postman插入幾次 mysql竟然是這種情況 然後既然主鍵在增加,那麼這create肯定可以用,我還列印出所有變數,發現沒有任何問題,於是...