Javaデータベース接続と各の概念的枠組み
簡単な紹介
JDBC
Javaデータベースコネクティビティ(Javaデータベース接続、JDBCと呼ばれる)は、Java言語は、クライアント・プログラムは、データベース内の照会及び更新データ等の方法を提供するアプリケーション・データベース・インターフェースにアクセスする方法を調整するために使用されます。我々は通常、JDBC指向リレーショナルデータベースを言います。
JDBCのAPI
JDBC APIを使用すると、表形式のデータ、リレーショナルデータベースに格納されている、特にあらゆる種類のデータにアクセスすることができ、Java APIです。
JDBC APIライブラリは、一般的にデータベースで使用含まれています。
データベースへの接続
MySQLやSQLステートメントを作成するには、されて
SQLやMySQLデータベースクエリで実行
表示し、データベースレコードのデータを変更するために
、データベースアクセス処理用のJDBC APIがサポートする2層および3層モデルが、通常、JDBCアーキテクチャは、2つの層から構成さ:
JDBCのAPI:JDBC接続を管理するためのアプリケーションを提供します。
JDBCドライバのAPI:サポートJDBCドライバがマネージャに接続します。
JDBC APIドライバー・マネージャー・データベースを使用して透過的に接続異種データベースを提供するドライバを指定します。
正しいドライバが各データソースにアクセスするようにすることを確実にするためにJDBCドライバマネージャ。ドライバ・マネージャは、異種データベースの複数に接続するために、複数の同時のドライバをサポートします。
休止状態
HibernateはJava環境のためのオブジェクトリレーショナルマッピングソリューションです。オブジェクトリレーショナルマッピング、またはORMは、プログラミングリレーショナル・データベース・テーブルへのアプリケーション・ドメイン・モデル・オブジェクトをマッピングすることです。HibernateのORMは、Javaベースのリレーショナル・データベース・テーブルへのアプリケーション・ドメイン・オブジェクトをマッピングするためのフレームワークを提供するツール、およびその逆です。
JPA
JPAは、Javaの永続化APIの省略形ですORM仕様日クラウンです!
日は、2つの理由のためにこの仕様を作っ:
既存のJava EEおよびJava SEアプリケーションの開発作業を簡素化する1。
ORMの技術を統合したい2.Sun、世界は正常化しました。
重点は、JPA仕様ではなく、特定のORMフレームワークです。
したがって、休止状態は、TopLink JPAフレームワークは、Hibernate太陽互換性の認証を取得した前記他のORMの実装です。
JPAは、アセンブリHibernateがあるので、カスタマイズのJPAの標準は、カスタム休止状態に関与しています。
長所:
インタフェースのためのJPA仕様ではなく、根本的なJPA実装を切り替えることができます。1.開発者:Hibernateの良い感触に、Hibernate JPAを達成するように選択することができ、手触りの良いTopLinkは、TopLinkのJPAの実装を選択することができます。
2.開発者が研究のHibernateのORMフレームワークを使用するだけでなく、TopLinkのORMフレームワークを使用することを学ぶために避けるようにします。
春データ-JPA
春データは、春のフレームワークの一部です。スプリング・データ・リポジトリ抽象オブジェクトは有意データアクセス層のための様々な永続的ストレージをモデル化するために必要なコードの量を削減します。
春データJPAは、JPAプロバイダではありません。これは、ライブラリ/フレームワークであり、(例えば休止状態など)我々のプログラムでトップJPAを提供する抽象化の余分なレイヤを追加します。
MyBatisの
MyBatisのは、サポートカスタムSQL、ストアドプロシージャと高度なマッピングという優れた永続化フレームワークです。MyBatisのは、ほぼすべてのJDBCコードとマニュアル設定パラメータを回避し、結果セットを取得します。MyBatisのは、データベースのレコードを(通常Javaオブジェクト、プレーン通常のJava Object)を設定するために、単純なXMLまたは注釈を使用して、ネイティブ情報をマップ、インターフェースおよびJavaのPOJOができます。
コントラスト
Hibernateと春データJPA差:
HibernateはJPAの実装であり、そして春データJPA JPAは、データアクセスの抽象化です。春データは、ソリューションGenericDaoカスタム実装を提供します。また、JPAのクエリを生成するために、あなたに代わってメソッド名で合意することができます。
春のデータを使用して、あなたは、Hibernate、Eclipseのリンク、または任意の他のJPAプロバイダを使用することができます。非常に興味深い利点は、あなたが使うことができることです@Transactional ノートは、宣言的トランザクション境界を制御します。
春データJPAは、JPAプロバイダを実装かどうか、それは、データアクセス層のための様々な永続ストレージをモデル化するために必要なコードの量を大幅に削減だけで抽象的です。
Hibernateは疎結合ORMツールの利点は、偉大な選択肢を持ってそれを作る、れるJava Persistence APIのリファレンス実装を提供します。
覚えておいてください、春データJPAは常に、HibernateやEclipseのリンクとして、JPAプロバイダを必要としています。
MyBatisのと休止状態の違い:
- Hibernateは全自動、半自動及びMyBatisのあります
- 休止状態データベースの移植はMyBatisのよりもはるかに大きいです
- Hibernateは、完全なログシステムを持っているいくつかの欠如をMyBatisの
- MyBatisの詳細の多くに比べて心配休止する必要があります
- 直接最適化のSQLは、休止状態よりもずっと簡単MyBatisの