Go ORMライブラリ
Go ORMライブラリ
Go言語向けのORMライブラリは、シンプルさとパフォーマンスを重視しています。GORMは最も人気があり開発者フレンドリーなAPI、Entはグラフベースのデータモデリング、SQLCはコンパイル時の型安全性を提供します。Goの哲学に従い、明示的で理解しやすいコードを生成することを重視しています。
GitHub Star 比較
No | 名前 | GitHub Stars | 説明 | トレンド | ライセンス | タイプ | 公式サイト |
---|---|---|---|---|---|---|---|
1 | GORM | ⭐ 38.5k | GORMは、開発者体験を重視したGo言語向けの最も人気のあるORMライブラリです。Code-firstアプローチを採用し、シンプルで直感的なAPIを提供します。MySQL、PostgreSQL、SQLite、SQL Serverなど複数のデータベースをサポートし、アソシエーション、フック、自動マイグレーション機能を内蔵しています。 | stable | MIT | Library | 公式 |
2 | Beego ORM | ⭐ 32.2k | Beego ORMは「DjangoライクなAPIでGoアプリケーションの生産性を向上させるORM」として開発された、Go言語エコシステムで人気の高いWebフレームワークBeegoの中核コンポーネントです。DjangoやSQLAlchemyから着想を得た直感的なAPIデザインにより、Code Firstアプローチでデータベース操作を簡素化。MySQL、PostgreSQL、SQLite3をサポートし、型安全性を保ちながら複雑なクエリ操作やリレーションシップ管理を効率的に実現します。 | stable | Apache-2.0 | Library | 公式 |
3 | sqlx | ⭐ 17.1k | sqlxは、Go標準のdatabase/sqlパッケージの強力な拡張ライブラリです。生のSQLとフルORMの中間に位置し、database/sqlのパフォーマンスと柔軟性を維持しながら追加の便利機能を提供します。sqlxは、名前付きパラメータ、構造体スキャン、結果マッピングなどの不足している機能を追加し、SQLクエリの制御を犠牲にすることなく利便性を向上させます。 | stable | MIT | Library | 公式 |
4 | Ent | ⭐ 16.4k | Entは「Schema as Code(コードとしてのスキーマ)アプローチ」を採用したGo言語向けエンティティフレームワークです。Meta(Facebook)で内部的に使用されていたエンティティフレームワークからインスパイアされ、完全な型安全性とコード生成による明示的なAPIを提供。MySQL、PostgreSQL、SQLite、CockroachDBなど複数データベースをサポートし、GraphQL統合、Atlas連携による高度なマイグレーション、グラフ横断クエリなど企業レベルの機能を包括的にサポートする現代的なGo ORMソリューションです。 | stable | Apache-2.0 | Library | 公式 |
5 | sqlc | ⭐ 15.7k | sqlcは「Generate type-safe Go from SQL」をコンセプトとする、Go専用のSQLクエリコンパイラです。生のSQLファイルから型安全なGoコードを自動生成し、コンパイル時にSQLの構文チェックと型検証を行います。ORMの抽象化レイヤーを介さず、SQLの表現力を最大限活用しながら、Goの型安全性とIDEサポートを提供します。データベーススキーマとSQLクエリの変更を自動検出し、対応するGoコードを再生成することで、SQLとGoコードの一貫性を常に保持し、実行時エラーを大幅に削減します。 | stable | MIT | Library | 公式 |
6 | upper/db | ⭐ 3.6k | upper/dbは「A productive data access layer for Go」として開発された、PostgreSQL、CockroachDB、MySQL、SQLite、MongoDBに対応するGoのデータアクセス層(DAL)ライブラリです。ORM的な機能を持ちながら、一般的なデータベース操作のためのツールを提供し、高度なシナリオでは目立たずに機能します。SQL、NoSQLデータベースに関係なく、統一されたAPIを通じて異なるデータソースと連携でき、生産性と柔軟性のバランスを重視した設計になっています。 | stable | MIT | Library | 公式 |