C++ ORMライブラリ
C++ ORMライブラリ
C++向けのORMライブラリは、パフォーマンスと低レベル制御を提供します。SOCIは複数のデータベースバックエンドをサポート、ODBはコンパイラベースのORM、sqlpp11はモダンC++の機能を活用した型安全なインターフェースを提供します。システムプログラミングや高性能アプリケーションに適しています。
GitHub Star 比較
No | 名前 | GitHub Stars | 説明 | トレンド | ライセンス | タイプ | 公式サイト |
---|---|---|---|---|---|---|---|
1 | sqlpp11 | ⭐ 2.6k | sqlpp11は「A type safe embedded domain specific language for SQL queries and results in C++」として開発された、C++のための型安全なSQL DSL(Domain Specific Language)ライブラリです。C++11以降のテンプレート機能とコンパイル時計算を活用し、SQLクエリをC++コード内に直接記述でき、実行時ではなくコンパイル時にSQLの構文と型の整合性をチェックします。データベーススキーマからC++コードを自動生成し、SQLインジェクション攻撃の防止、タイプミスによるバグの排除、IDEでの強力な自動補完サポートを実現します。 | stable | BSD-2-Clause | Library | 公式 |
2 | SOCI | ⭐ 1.5k | SOCIは「Database Access Library for C++」として、C++アプリケーションのための軽量でポータブルなデータベースアクセス層を提供します。複数のデータベースエンジン(PostgreSQL、MySQL、SQLite、Oracle、DB2、Firebird等)に対して統一されたAPIを提供し、C++の型安全性とRAII(Resource Acquisition Is Initialization)パターンを活用した効率的なデータベース操作を実現します。STLコンテナとの自然な統合、準備済みステートメント、接続プール等のモダンなC++開発に必要な機能を包括的にサポートします。 | stable | BSL-1.0 | Library | 公式 |
3 | Hiberlite | ⭐ 721 | Hiberliteは「C++向けのSQLite ORM」として開発された、信頼性の高いデータストレージとACIDトランザクション、シンプルなランダムアクセスを必要とし、SQL でのコーディングを好まない開発者のためのライブラリです。従来のSQLシリアライザーとは異なり、HiberliteでマップされたC++オブジェクトはActive Recordパターンのように振る舞い、「全データを読み取り/一部を変更/全てを書き戻し」という制約から解放されます。Boost.SerializationにインスパイアされたAPIにより、学習するAPIがほとんどなく直感的な使用が可能です。 | stable | BSD-3-Clause | Library | 公式 |
4 | LiteSQL | ⭐ 34 | LiteSQLは、コードジェネレータとC++ライブラリからなるORMフレームワークです。C++オブジェクトとリレーショナルデータベースの密結合によるオブジェクト永続化層を提供し、SQLite3、PostgreSQL、MySQL、Oracleをサポートします。XMLスキーマ定義から自動的にC++クラスを生成し、型安全なデータベースアクセスを実現します。 | stable | MIT | Library | - |
5 | ODB | ⭐ 28 | ODBは、C++向けのクロスプラットフォーム・クロスデータベースORMライブラリです。C++オブジェクトをリレーショナルデータベースに永続化する際、手動のマッピングコードを必要とせず、テーブル、カラム、SQLを意識することなく開発が可能です。コンパイラベースのコード生成により、高性能かつ型安全なデータベースアクセスを実現します。 | stable | MIT | Library | - |
6 | CppDB | ⭐ 6 | CppDBは、C++向けの軽量なSQL接続性ライブラリで、JDBC、ODBCなどと同様にプラットフォームとデータベースに依存しない統一APIを提供します。CppCMSプロジェクトの一部として開発され、C++アプリケーションでのデータベース操作を簡素化します。MySQL、PostgreSQL、SQLite3、Oracleなどの主要データベースをサポートし、プリペアドステートメントによる高いセキュリティとパフォーマンスを実現している軽量なデータベースアクセスライブラリです。 | stable | BSD-3-Clause | Library | 公式 |