前言:
1、資料最終是儲存在資料庫一張張的表中,
2、乙個結構體例項對映到資料庫中一條記錄。
3、資料庫表中,只需要該錶下某乙個列就可以查出整張表的資訊
例如:table column
users uid ,name,pasword,email,profile
select
*from users where uid =? or name =?
4.欄位大小有限,不能儲存大的資料,如何解決這問題?
指定乙個外來鍵,並宣告關聯關係。
表中儲存乙個字段(外來鍵)通過關聯關係就能找到該欄位儲存的資料(即其關聯的表)
1、gorm 的簡潔用法
// 將crud 函式繫結為乙個結構體的方法,主要是呼叫方便,**寫起來更簡潔美觀。
// golang 是支援函式鏈式呼叫的,所以能鏈式呼叫,就用。
// 增
func
(this *comment)
create()
error
// 查
func
(this *comment)
take()
error
).error
}// 改
func
(this *comment)
update()
error
// 刪
func
(this *comment)
delete()
error
// getuserbycomment
// 查詢comment表中包含所有欄位的一條記錄,並將查詢結果掃瞄儲存到user{}結構體。
func
(this *comment)
getuserbycomment()
(*user,
error))
if res.error !=
nilreturn
&user
,nil
}// 呼叫 comment 的方法
err := comment
.create()
fmt.
println
(err)gorm使用指南-中文
golang gorm 基本使用
庫安裝go get u github.com jinzhu gorm 資料庫連線 連線比較簡單,直接呼叫gorm.open傳入資料庫位址即可 github.com jinzhu gorm dialects mysql是 golang 的 mysql 驅動,實際上就是github.com go sql...
golang gorm使用心得小結,持續更新
官方文件 1,目前暫不支援批量插入資料,可以用sql語句直接執行或迴圈單次create。但因為業務需要知道插入後的主鍵id,所以只能迴圈新增,迴圈新增後可通過.操作取id。如 err db.create m error if err nil id m.id2,刪除資料分為軟刪除和硬刪除。軟刪即改變資...
golang gorm 更新零值字段的方法
使用golang的gorm更新0值的字段,總是失敗。按照官方文件,如果字段值中有0值,不能再使用 struct,而需要使用 map string inte ce 但實際上還是失敗,比對了很久,才發現是在updates方法不能傳入map的指標,必須是map的值。錯誤的寫法 values map str...