【MyBatisシリーズ②】Daoレイヤー開発の2つの方法

目次

1. 従来の開発

1.1、コード

1.2. 既存の問題

2. エージェントの開発

2.1. 開発仕様

2.2、コード


⭐mybatisシリーズ①:追加・削除・修正・確認

1.従来の開発

従来のmybatis開発では、対応するインターフェースがデータアクセス層に実装され、対応するマッピングファイルに設定されたSQL文が実装クラスの「namespace.id」の形で見つかりますが、プロキシ開発では、対応するインターフェイスの種類、実行メソッド。

1.1 、コード

マッピングファイルの構成:

Dao レイヤーのコードは次のとおりです。

1.2 、既存の問題点

前のコードは基本的な使用方法ですが、次のようなハードコーディングされた問題もあります。

ここで selectList() メソッドを呼び出して渡されるパラメータは、マッピング構成ファイル内の namespace.id 値です。

このように記述するのは、後のメンテナンスのために不便です。Mapper プロキシ メソッドを使用する場合、ハードコーディングの問題はありません。

上記の説明から、Mapper プロキシ メソッドの目的がわかります。

ネイティブな方法でハードコーディングを解決する

実行後のSQLを簡素化する

Mybatis 公式 Web サイトでも、Mapper プロキシの使用を推奨しています。下の写真は公式サイトの写真です。

2.エージェントの開発

DAO層の開発は、企業の主流であるMybatisのエージェント開発手法により実現されています。

Mapper インターフェースの開発方法は、プログラマが Mapper インターフェース (Dao インターフェースに相当) を記述するだけでよく、Mybatis フレームワークはインターフェース定義に従ってインターフェースの動的プロキシ オブジェクトを作成します。プロキシ オブジェクトのメソッド本体は同じです。上記のDaoインターフェース実装クラスのメソッド。

2.1 、開発仕様

マッパー インターフェイスの開発は、次の仕様に従う必要があります。

1. Mapper.xml ファイル内の名前空間は、マッパー インターフェイスの完全修飾名と同じです。

2. Mapper インターフェースのメソッド名は、Mapper.xml で定義された各ステートメントの ID と同じです。

3. Mapperインターフェースメソッドの入力パラメータの型は、mapper.xmlに定義されている各SQLのparameterTypeと同じです。

4. Mapperインターフェースメソッドの出力パラメータの型は、mapper.xmlに定義されている各SQLのresultTypeと同じです。

図:

2.2 、コード

以下は、シミュレートされた特定の MVC ステップです。

対応するディレクトリは以下のとおりです。

①制御層: テストフレームワークを使用して簡単なシミュレーションを作成します。

②ビジネス層:

③データアクセス層:

④ マッピングファイルを書き込みます。

⑤設定ファイルにマッピングファイルを読み込みます。

⑥テスト:

結果は予想通りです!

        

おすすめ

転載: blog.csdn.net/qq_60735796/article/details/132478391