ホームページ  >  記事  >  バックエンド開発  >  golang には ORM が必要ですか?

golang には ORM が必要ですか?

(*-*)浩
(*-*)浩オリジナル
2019-12-31 10:07:054753ブラウズ

golang には ORM が必要ですか?

現在主流/アクティブな ORM には、gorm、xorm、gorose などが含まれます。 (推奨学習: go)

xorm

## サポートされているデータベースは次のとおりです: mysql、mymysql、postgres、tidb、sqlite、 mssql、oracle

トランザクション サポート

チェーン api

has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users)

サポート ネイティブ SQL 操作

クエリ キャッシュ

データベース リバースに基づくことができます生成コード

カスケード読み込み

#SQL ステートメント ログ出力の提供

#バッチ クエリ処理のサポート

#gorm

フック メカニズム (作成/保存/更新/削除/検索の前/後)オブジェクトの関係は 1 つあり、多数あり、所属、多対多、ポリモーフィズム

ホット ロード

ネイティブ SQL 操作のサポート

トランザクション

#Chain api

tx := db.Where("name = ?", "jinzhu").Where("age = ?", 20).Find(&users)

サポートされるデータベースは次のとおりです: mysql、postgre、sqlite、sqlserver

クエリ操作

gorose

サポートされるデータベースは次のとおりです: mysql、postgres、sqlite、mssql、oracle

Chain api

複数のデータベースを接続して同時に切り替える

ネイティブ SQL 操作のサポート

#バッチ クエリ処理のサポート

##トランザクション

#類似性

それぞれがサポートするデータベースORM は基本的に同じです (すべての主流データベースが ORM をサポートしています)

トランザクション、連鎖クエリなどをサポートします。

相違点

xorm と gorose のサポート バッチクエリ処理

xorm はマスターとスレーブの読み取りと書き込みの分離をサポートします

gorm はホット ロードをサポートしますgorose は複数のデータベース間の切り替えを容易にします

包括的なドキュメント gorm>xorm> ;ゴローズ

以上がgolang には ORM が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。