GORMの使用の概要

増加

  • db.Create(ユーザー)
  • db.Save(ユーザー)

パラメータは、缶構造体ポインタがインサートピースデータは、ポインタに応じて書き込まれるため、**
ユーザがデータの一部として使用することができるようになります。

主キーの非存在下での方法が新しい保存、主キー更新する時間がある
db.NewRecord使用することができる()は決意、メソッド対応するデータ構造テーブルの主キーが空であるかどうかだけをチェックし、ノールックアップテーブル。

[削除]

  • db.Delete(&ユーザー{})

変更

  • db.Modle(&ユーザー{})を更新()
  • db.Modle(&ユーザー{})の更新()
  1. アップデート、アップデート(「名前」、「WL」)、またはアップデートを使用する単一の更新。
  2. アップデートは、地図/構造体を渡すことができます。
    構造体のフィールドの更新のみ非ゼロ値。
    キーマップは、構造体のキーであってもよいし、それはまた、データテーブルの列名とすることができます。
    そのようなマップ、対応する構造体の種類、[文字列]インターフェイス{} {マップに値 「updated_atの」:time.Now()}は、 文字列を使用することができません。

検索

  • db.First(&ユーザー)
  • db.Last(&ユーザー)
  • db.Take(&ユーザー)
  • db.Find(&ユーザ)のユーザ:=メイク([]ユーザ、0)
  • db.Scan()
    別の構造体にもたらします
  • メイク=([] stirng、0):db.Pluck( "名前"、&名)の名前
    スライス単一のフィールド
  1. クエリを追加することができ、あなたがすることもでき、インライン、まず(&ユーザー、 "ID =?"、1)

他の

GORMのCRUD方法はチェーンであり、各リターン* gorm.DBは、任意のステッチであってもよいです。

  • db.Table( "ユーザ")またはdb.Modle(&ユーザー{})指定されたテーブル名
  • db.Where( "名前=?"、名前)

  1. 構造体のクエリ結果は、デジタル受信機を使用することである
    量の構造体を{}合計のfloat64入力
    量= {}:AMOUNT
    。Db.select(「SUM(価格)合計AS」)スキャン(および量)

  2. 更新設定NULLの
    構造体ポインタタイプ、更新( "deleted_at"、ゼロ )
    または更新( "名前"、gorm.Expr( "NULL))
    の更新(MAP [文字列]インターフェイス{} {"名前":gorm.Expr(" NULL「)})


  3. GORM:BOOL、時間は、MySQLは、0、1、文字列であってもよく、対応するタイプでなければなりません。
    ゼロの値に対応するGORMタイプが使用されている構造体ではありません。

  4. タイムゾーン
    :レコードを作成する
    時間が時間帯を挿入時間データに基づいて決定される場合は、入力する必要があります。

もう行く時間です 外出先でのタイムゾーン データベースの蓄積時間 データベースの表示時間
2019年12月1日午前八時00分00秒 8:00 2019年12月1日00:00:00 2019年12月1日午前八時00分00秒
2019年12月1日午前八時00分00秒 0:00 2019年12月1日午前八時00分00秒UTC 2019年12月1日夜四時00分00秒

場合は、クエリ:
あなたが使用できる1;(、「2019年12月1日」「 ?updated_atのは、<」)
ゾーンとして、クエリ2、時間の一部のみに影響を与えません現地時間検索します。

ALL

協会のテーブルには、参加し、選択します

おすすめ

転載: www.cnblogs.com/wayland3/p/11968378.html