76、MyBatisフレームワークエントリ

MyBatisフレームワーク:MyBatisは、jdbcを内部的にカプセル化する、優れたJavaベースの永続層フレームワークです。開発者はSQLステートメント自体に注意を払うだけでよく、ドライバーのロード、接続の作成、ステートメントの作成、接続のクローズを行う必要はありません。 。

コンテンツ

フレーム定義

フレームワークが解決する問題

JDBCを使用するデメリット

MyBatisを使用する利点

MyBatisの機能アーキテクチャ

MyBatisフレームワークプロセス


フレーム定義

フレームワーク(フレームワーク)は、システムの全体または一部の再利用可能な設計であり、抽象的なコンポーネントのセットおよびコンポーネントインスタンス間の相互作用の方法として表されます。別の人は、フレームワークはカスタマイズ可能なアプリケーションスケルトンおよびテンプレートであると考えています。アプリケーション開発者による。

簡単に言えば、フレームワークは実際には半完成のソフトウェアであり、独自のシステムを完成させるために使用できるコンポーネントのセットです。別の視点からステージを組み立てるには、ステージで演奏します。フレームワークに基づいて、完了したい機能を追加します。

フレームワークは、安全で再利用可能で、継続的にアップグレードされるソフトウェアです。

フレームワークが解決する問題

フレームワークが解決すべき最も重要な問題は技術の統合です。J2EEフレームワークにはさまざまな技術、さまざまなアプリケーションがあり、システムはさまざまな技術を使用して問題を解決します。J2EEからさまざまなテクノロジーを選択する必要があり、テクノロジー自体の複雑さはより大きなリスクにつながります。

企業がソフトウェアプロジェクトを開発する場合、主な目的はビジネス上の問題を解決することです。そのためには、企業がテクノロジー自体に責任を持つだけでなく、ビジネス上の問題を解決する必要があります。これは、ほとんどの企業が達成できないことです。フレームワークは関連技術を統合し、企業開発はビジネス分野に焦点を当てることができます。別の側面は、開発効率を提供することができます。

JDBCを使用するデメリット

  1. より多くのコード、低い開発効率
  2. 接続、ステートメント、ResultSetオブジェクトの作成と破棄に注意を払う必要があります
  3. ResultSetクエリの結果は、それ自体でリストとしてカプセル化する必要があります
  4. より反復的なコード
  5. ビジネスコードとデータベース操作が混在している

MyBatisを使用する利点

  1. JDBCの使用の複雑さを軽減します
  2. 繰り返し作成する接続、ステートメントを書く必要はありません 
  3. 近いリソースコードを書く必要はありません
  4. 結果データを表すためにJavaオブジェクトを直接使用する
  5. 開発者がSQL処理に集中できるようにします。他の気晴らしはMyBatisによって行われます

MyBatisの機能アーキテクチャ

Mybatisの機能アーキテクチャを次の3つのレイヤーに分割します。

1. APIインターフェースレイヤー:外部使用のために提供されたインターフェースAPIであり、開発者はこれらのローカルAPIを介してデータベースを操作します。インターフェイス層は呼び出し要求を受信するとすぐに、データ処理層を呼び出して特定のデータ処理を完了します。

2.データ処理層:特定のSQL検索、SQL解析、SQL実行、実行結果マッピング処理などを担当します。その主な目的は、呼び出し要求に従ってデータベース操作を完了することです。

3.基本サポートレイヤー:接続管理、トランザクション管理、構成の読み込み、キャッシュ処理など、最も基本的な機能サポートを担当します。これらはすべて一般的なものであり、最も基本的なコンポーネントとして抽出されます。上位のデータ処理層に最も基本的なサポートを提供します。

MyBatisフレームワークプロセス

MyBatis(以前のiBatis)は、一般的なSQLクエリ、ストアドプロシージャ、および高度なマッピングをサポートする永続化レイヤーフレームワークです。

1.データベースドライバを登録します

Class.forName(“com.mysql.jdbc.Driver”)

2. JDBCで使用する必要のあるConnection、Statement、ResultSetオブジェクトを作成します

3. xmlからsqlを取得し、sqlステートメントを実行して、ResultSetの結果をJavaオブジェクトに変換します。

List<Student> list = new ArrayLsit<>();
ResultSet rs = state.executeQuery(“select * from student”);
while(rs.next){
 Student student = new Student();
 student.setName(rs.getString(“name”));
 student.setAge(rs.getInt(“age”));
 list.add(student);
}

4.リソースを閉じる

ResultSet.close()、Statement.close()、Conenection.close()


 

おすすめ

転載: blog.csdn.net/m0_54925305/article/details/123290123