Apache Empire-db


Apache_Empire-db

 「ApacheEmpire-db」  
Apache Empire-dbは、JDBCを介してリレーショナルデータベース管理システム(RDBMS)にアクセスするための高レベルのオブジェクト指向APIを提供するJavaライブラリです。Apache Empire-dbはオープンソースであり、Apache SoftwareFoundationのApacheLicense2.0の下で提供されています。
Apache Empire-db
開発者
Apache Software Foundation
安定リリース
2.4.7 / 2018年10月31日 ; 2年前  (2018-10-31)
リポジトリ
EmpireDBリポジトリ
で書かれている Java オペレーティング・システム
クロスプラットフォーム
タイプ
永続性フレームワーク
ライセンス
Apacheライセンス2.0
Webサイト
empire-db .apache .org
オブジェクトリレーショナルマッピング(ORM)や、Hibernate、iBATIS、TopLink Empireなどの他のデータ永続化ソリューションと比較すると、dbはXMLファイルやJavaアノテーションを使用せず、プレーン(古い)Javaオブジェクト(POJO)をデータベースにマッピングします。テーブル、ビュー、および列。代わりに、Empire-dbはJavaオブジェクトモデルを使用して、基になるデータモデルと、文字列リテラルではなくオブジェクト参照のみで機能するAPIを記述します。
Empire-dbの目的は、コンパイル時の安全性を高め、メタデータの冗長性を減らすことで、ソフトウェアの品質と保守性を向上させることです。さらに、アプリケーションは、ほとんどのORマッピングソリューションと比較して、SQLステートメントと開発者によるそれらの実行を完全に制御できるため、パフォーマンスが向上するというメリットが

コンテンツ
1 主なメリット
2 一目でわかる機能
3 例
4 歴史
5 も参照してください
6 外部リンク

主なメリット
Empire-dbの主な強みは、純粋にモデルオブジェクトを参照するJavaメソッドを使用して、任意のselect、update、insert、またはdeleteステートメントの動的SQLを生成するためのAPIです。これにより、型の安全性が提供され、コード内の名前や式に文字列リテラルを使用する必要がほぼ完全になくなります。さらに、DBMSの独立性は、プラグ可能なドライバーモデルによって実現されます。
テーブルオブジェクトと列オブジェクトへの参照を使用すると、コンパイル時の安全性が大幅に向上し、テストの量が減ります。プラスの副作用として、IDEのコード補完を使用してデータモデルを参照し、生産性を向上させ、他の外部ツールやIDEプラグインを不要にします。
さらに、オブジェクトモデルは、フィールドデータ型、最大フィールド長、フィールドが必須かどうか、フィールドの値のオプションの有限の選択など、データモデルのメタ情報への安全で簡単なアクセスも提供します。メタデータはユーザー拡張可能であり、DBMS関連のメタデータに限定されません。メタ情報が利用できることで、より一般的なコードが促進され、アプリケーション層全体の冗長性が排除されます。

一目でわかる機能
Javaオブジェクトモデルによるデータモデル定義では、XMLスキーマや注釈を学習する必要がなく、ユーザーによる傍受や拡張が簡単に可能になります。
Oracle、Microsoft SQL Server、MySQL、Derby、H2、HSQLDB(バージョン2.0.5以降)などのさまざまなリレーショナルデータベースをサポートする、ポータブルRDBMSに依存しないレコード処理とコマンド定義
データベース全体、またはテーブル、ビュー、列、リレーションなどの個々のオブジェクトのオブジェクト定義からのターゲットDBMSのDDL生成。
動的SQLコマンド生成用のタイプセーフAPIにより、文字列リテラルの代わりにAPIメソッドとオブジェクト参照のみを使用してSQLステートメントを動的に構築できます。これにより、高度なタイプセーフティが提供され、テストとメンテナンスが簡素化されます。
POJOの代替として、Javaコードの量を減らし、動的Beanを介したフィールドおよびメタデータアクセスの強力なインターセプト。これにより、実行時にデータモデルの変更(DDL)も可能になります。
変更されたフィールドのみを挿入/更新するための、レコードの状態とフィールドの変更の自動追跡(別名「ダーティチェック」)。
タイムスタンプ列による楽観的ロックのサポート。
常に完全なデータベースエンティティを操作する必要はありません。クエリを作成して、必要に応じて正確にデータを提供し、たとえば、プロパティセッターまたはコンストラクターが一致する任意のタイプのPOJOのリストとして結果を取得します。
構成フットプリントがゼロの軽量でパッシブなライブラリ。これにより、任意のアーキテクチャまたはフレームワークとの簡単な統合が可能になります。


例として、特定の制約と特定の順序を持​​つ特定の形式の従業員のリストを取得する必要がある、従業員と部門と呼ばれる2つのテーブルを持つデータベースについて考えてみます。
対応するOracle構文のSQLステートメントは次のように想定されています。
SELECT T1 。EMPLOYEE_ID 、
t1 。姓 || ‘、’ || t1 。FIRSTNAME AS NAME 、
t2 。DEPARTMENT FROM (EMPLOYEES T1
INNERは JOIN 部門 T2 ON T1 。DEPARTMENT_ID = T2 。DEPARTMENT_ID ) 上部(T1 。LASTNAME )LIKE上部(’フー・%’ )AND T1 。退職= 0 ORDER BY T1 。LASTNAME 、t1 。ファーストネーム
このSQLステートメントは、次のようなオブジェクトモデル参照を使用してEmpire-dbのコマンドAPIを使用して作成できます。
SampleDB db = getDatabase (); //ショートカットを宣言します(必須ではありませんが便利です) SampleDB 。従業員 EMP = db 。従業員; SampleDB 。部門 DEP = db 。部門; //コマンドオブジェクト作成 されたDbCommand CMD = デシベルを。createCommand (); //列 cmdを選択します。選択(EMP 。EMPLOYEE_ID ); cmd 。選択(EMP 。LASTNAME 。追記する(”” )。アペンド(EMP 。FIRSTNAME )として(”NAME” )); cmd 。選択(DEP 。DEPARTMENT ); //テーブルを結合します cmd 。参加 (EMP 。DEPARTMENT_ID 、 DEP 。DEPARTMENT_IDを)。 //制約を設定します cmd 。ここで、(EMP 。LASTNAME 。likeUpper (”Fooの%” )); cmd 。どこ(EMP 。退職させた。です(偽)); //設定するための CMD 。[並べ替え(EMP 。LASTNAME ); cmd 。[並べ替え(EMP 。FIRSTNAME );
クエリを実行し、クエリ結果を保持しているPOJOのリストを取得するには、次のコードを使用できます。
//ターゲットのためのクラス定義は、オブジェクト のパブリック クラス EmployeeInfo {
プライベート int型の 社員を、
プライベート 文字列 名;
プライベート ストリング 部門;
//ゲッターさんとセッターのすべてのプロパティの
フィールドを使用して//またはパブリックコンストラクタ
パブリック のget …
公共の セットを… } // DBReader リーダーの 上に作成されたcmdオブジェクトを使用して従業員リストを取得します= new DBReader (); {リーダーを試してください 。open (cmd 、getConnection ()); リスト< EmployeeInfo > empList =リーダー。getBeanList (EmployeeInfo 。クラス); }最後に{リーダー。close ()}
Empire-dbは、オブジェクト参照を介したフィールドアクセス、またはXMLとしてのクエリ結果の取得もサポートしています。

歴史
Empire-dbは元々、Empire-dbを使用してさまざまなブランチ向けのさまざまなアプリケーションを開発したドイツのソフトウェア開発会社であるESTEAMSoftwareで開発されました。
2008年1月、Empire-dbは正式にオープンソースになり、SourceForge.netを通じて最初に公開されました。
2008年6月、ApacheIncubatorプロジェクトになるという提案がEmpire-dbのApacheSoftwareFoundationに提出されました。2008年7月、Empire-dbのインキュベーションが承認され、ソフトウェアに関するすべての権利がApacheFoundationに譲渡されました。
2008年10月、Empire-db 2.0.4は、すべてのパッケージ名がorg.apache.empireで始まるように変更された最初の公式Apacheインキュベーターリリースでした。

も参照してください
icon"
 コンピュータプログラミングポータル
Javaデータベースコネクティビティ(JDBC)
オブジェクトリレーショナルマッピングHibernate iBATIS TopLink
Apache Struts

外部リンク
公式サイト