gorm學習總結 一

2021-10-06 12:54:58 字數 1795 閱讀 9687

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肯定可以用,我還列印出所有變數,發現沒有任何問題,於是...