SQLマッピングファイルのサンプルチュートリアル
SQL マッピング ファイル
MyBatis の真の力はマッピング ステートメントにあります。同等の機能を備えた jdbc と価格を比較すると、マッピング ファイルにより多くのコードが節約されます。 MyBatis は SQL に重点を置いて構築されています。
SQL マッピング ファイルには、次のトップレベル要素があります: (順番に)
cache は、指定された名前空間のキャッシュを構成します。
cache-ref は、他の名前空間からのキャッシュ設定を参照します。
resultMap は最も複雑かつ強力な要素であり、データベースの結果セットからオブジェクトをロードする方法を記述するために使用されます。
parameterMap は非推奨になりました。昔ながらのスタイルのパラメーター マッピング。インラインパラメータが優先されますが、この要素は将来削除される可能性があります。
SQL ブロックは再利用でき、他のステートメントからも参照できます。
insert マップの挿入ステートメント。
マッピング更新ステートメントを更新します。
delete マップの削除ステートメント。
マッピングクエリステートメントを選択します。
MyBatis は SQL に重点を置いて構築されており、通常のメソッドとは大きく異なります。
SQL マッピング ファイルには、いくつかのトップレベル要素があります (定義される順序で):
>mapper: マッピング ファイルのルート要素ノード。属性名前空間が 1 つだけあり、異なるマッパーを区別するために使用されます。グローバルに一意、名前空間にバインドされた DAO インターフェイスの完全な名前、つまりインターフェイス指向プログラミング。ここでのマッパーはインターフェースの実装クラスに相当します。
キャッシュ - 指定された名前空間のキャッシュを構成します。
cache-ref – 他の名前空間からのキャッシュ設定を参照します。
resultMap – データベースの結果セットからオブジェクトをロードする方法を記述するために使用される、最も複雑かつ強力な要素。
parameterMap – 非推奨になりました!昔ながらのスタイルのパラメーター マッピング。インラインパラメータが優先されますが、この要素は将来削除される可能性があります。ここには記録されません。
sql – 他のステートメントによって再利用および参照できる SQL ブロック。
insert - マッピング挿入ステートメント
update - マッピング更新ステートメント
delete - マッピング削除ステートメント
select - マッピングクエリステートメント
1: select を使用して条件付きクエリを完了します
ツールアイデアと mysql データベースを使用します
エンティティクラスを作成します
public class student {private int stuId;private String stuName;private grade getGrade;private int stuAge;public grade getGetGrade() {return getGrade; }public void setGetGrade(grade getGrade) {this.getGrade = getGrade; }public int getStuAge() {return stuAge; } public student(int id,String name){ } public student(){}public void setStuAge(int stuAge) {this.stuAge = stuAge; }public int getStuId() {return stuId; }public void setStuId(int stuId) {this.stuId = stuId; }public String getStuName() {return stuName; }public void setStuName(String stuName) {this.stuName = stuName; } }
select を使用して条件付きクエリを完了します
1: まず、resultType を使用するようにマッパーを設定します
<!--模糊查询 使用resultType返回结果集--> <select id="getAllStudentByLike" parameterType="String" resultType="stu">* from student where stuName like CONCAT('%',#{stuName},'%'</select>
テストクラス
public void Test() throws IOException { studentDao dao = MyBatis.getSessionTwo().getMapper(studentDao.class); List<student> list = dao.getAllStudentByLike("z");for (student item:list) { System.out.println("----------"+item.getStuName()); } }
さらに、parameterType は、 javaBean 型
は、Mapper
<!--模糊查询--> <select id="getAllStudentByLike" parameterType="Map" resultType="stu">select * from student where stuName like CONCAT('%',#{stuName},'%')</select>
を変更し、メソッドパラメータとしてテストクラスに直接HashMapコレクションを作成します
studentDao dao = MyBatis.getSessionTwo().getMapper(studentDao.class); Map<String,String> userMap = new HashMap<String, String>(); userMap.put("stuName","z"); List<student> list = dao.getAllStudentByLike(userMap);for (student item:list) { System.out.println("----------"+item.getStuName()); }
ただし、マップコレクションのキー値はクラス内のフィールド名と同じです。
2: resultMap を使用して 2 つのテーブル クエリを完了します
たとえば、student テーブルの主キー ID がクラス テーブルに関連付けられている場合、resultType を使用すると、その ID を表示することしかできませんが、実際には、クラス名に注目することが多いため、resultMap マッピングのカスタマイズ結果を使用する必要があります。
<resultMap id="studentMap" type="entity.student"> <id property="stuId" column="stuId"></id> <result property="stuName" column="stuName"></result> <result property="gradeName" column="gradeName"> </resultMap> //sql语句
select * from student,grade
resultType は、基本型と複雑なデータ型を含む戻り値の型を直接表します。
resultMap は、外部の resultMap への参照であり、resultMap に対応する ID は、戻り結果がどの resultMap にマップされるかを示します。 : 彼のアプリケーション シナリオは次のとおりです。データベース フィールド情報がオブジェクト属性と一致しない、またはマッピング結果を自由に制御するには複雑な結合クエリを実行する必要があります。
さらに、MyBatis の select 要素では、resultType と resultMap は本質的に同じであり、両方とも Map データ構造です。しかし、両方が同時に存在することはできません。
Three: resultMap の自動マッピング レベルを使用します
MyBatis は 3 つのマッピング レベルに分かれています
コレクション)
& gt; を除く: すべてに自動的に一致します
Set AutomAppingBehavior
<settings> <!--设置resultMap的自动映射级别为Full(自动匹配所有)--><setting name="autoMappingBehavior" value="FULL" /> <!--FULL要大写··--> </settings>
c c c c c c はします値が設定されている場合、ResultMap でノードを構成する必要はありません。
4 属性の関連付け 前の結果は、JavaBean、基本データ型、およびパッケージ化クラスの特定の「単純型」属性にのみマッピングできます。 , etc./しかし、複合型の属性をマッピングしたい場合は、複雑なクラス xing を使用する必要があります。つまり、javaBean には別の javaBean がありますが、関連付けは 1 対 1 の関連付けのみを処理します测试类里直接调用即可
六:前面说到association仅处理一对一的管理关系
如果要处理一对多的关系,则需要使用collection,它与 association元素差不多,但它映射的属性是一个集合列表,即javaBean内部嵌套一个复杂数据类型属性。
javaBean
private int gradeId;private String gradeName;private List<student> gatStudent;
<resultMap id="gradeMap" type="grade"> <!--<id property="gradeId" column="gradeId"></id> <result property="gradeName" column="gradeName"></result>--> <collection property="gatStudent" ofType="stu"> <!-- <id property="stuId" column="stuId"></id> <result property="stuName" column="stuName"></result>--> </collection> </resultMap>
<!--查询对应年级的student--> <select id="getAll" resultMap="gradeMap"> select * from student,grade where stuGrade = gradeId and gradeId=1 </select>
以上がSQLマッピングファイルのサンプルチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WeChat を開き、[自分の設定] を選択し、[一般] を選択してから [記憶域スペース] を選択し、[記憶域スペース] で [管理] を選択し、ファイルを復元する会話を選択して、感嘆符アイコンを選択します。チュートリアル 適用モデル: iPhone13 システム: iOS15.3 バージョン: WeChat 8.0.24 分析 1 まず、WeChat を開き、マイページの [設定] オプションをクリックします。 2 次に、設定ページで [一般オプション] を見つけてクリックします。 3次に、一般ページで「記憶域スペース」をクリックします。 4 次に、ストレージスペースページで「管理」をクリックします。 5最後に、ファイルを回復したい会話を選択し、右側の感嘆符アイコンをクリックします。補足: WeChat ファイルの有効期限は通常、数日です。WeChat で受信したファイルがクリックされなかった場合、WeChat システムは 72 時間後にそのファイルを消去します。WeChat ファイルが閲覧された場合、

Windows では、フォト アプリは写真やビデオを表示および管理するのに便利な方法です。このアプリケーションを通じて、ユーザーは追加のソフトウェアをインストールすることなく、マルチメディア ファイルに簡単にアクセスできます。ただし、写真アプリの使用時に「形式がサポートされていないため、このファイルを開けません」というエラー メッセージが表示されたり、写真やビデオを開こうとしたときにファイルが破損したりするなど、ユーザーが何らかの問題に遭遇することがあります。この状況はユーザーにとって混乱を招き不便になる可能性があり、問題を解決するには調査と修正が必要になります。ユーザーが写真アプリで写真またはビデオを開こうとすると、次のエラーが表示されます。申し訳ありませんが、この形式が現在サポートされていないか、ファイルがサポートされていないため、フォトではこのファイルを開くことができません

tmp 形式ファイルは、通常、コンピュータ システムまたはプログラムの実行中に生成される一時ファイル形式です。これらのファイルの目的は、プログラムを適切に実行したり、パフォーマンスを向上させるために一時データを保存することです。プログラムの実行が完了するか、コンピュータが再起動されると、多くの場合、これらの tmp ファイルは必要なくなります。したがって、Tmp 形式のファイルは基本的に削除可能です。さらに、これらの tmp ファイルを削除すると、ハード ディスクの空き容量が確保され、コンピュータが正常に動作するようになります。ただし、Tmp 形式のファイルを削除する前に、次のことを行う必要があります。

パソコン上のフォルダーを削除または解凍するときに、「エラー 0x80004005: 不明なエラー」というダイアログ ボックスが表示されることがあります。この状況はどう解決すればよいでしょうか?エラー コード 0x80004005 が表示される理由は実際にはたくさんありますが、そのほとんどはウイルスによって引き起こされます。DLL を再登録して問題を解決できます。以下では、エディターがエラー コード 0x80004005 の処理体験を説明します。 。一部のユーザーは、コンピュータの使用時にエラー コード 0X80004005 を表示されます。0x80004005 エラーは主に、コンピュータが特定のダイナミック リンク ライブラリ ファイルを正しく登録していないこと、またはファイアウォールがコンピュータとインターネット間の HTTPS 接続を許可していないことが原因で発生します。それでどうですか

Quark Netdisk と Baidu Netdisk は現在、ファイルの保存に最も一般的に使用されている Netdisk ソフトウェアです。Quark Netdisk 内のファイルを Baidu Netdisk に保存したい場合は、どうすればよいですか?今回は、Quark Network Disk コンピュータから Baidu Network Disk にファイルを転送するためのチュートリアル手順を編集者がまとめたので、その操作方法を見てみましょう。 QuarkネットワークディスクファイルをBaiduネットワークディスクに保存するにはどうすればよいですか? Quark Network Disk から Baidu Network Disk にファイルを転送するには、まず Quark Network Disk から必要なファイルをダウンロードし、次に Baidu Network Disk クライアントでターゲット フォルダーを選択して開きます。次に、Quark Cloud Disk からダウンロードしたファイルを Baidu Cloud Disk クライアントによって開かれたフォルダーにドラッグ アンド ドロップするか、アップロード機能を使用してファイルを Baidu Cloud Disk に追加します。アップロードが完了したら、Baidu Cloud Disk にファイルが正常に転送されたかどうかを必ず確認してください。それでおしまい

gho ファイルは GhostImage イメージ ファイルであり、通常、ハードディスク全体またはパーティション データをファイルにバックアップするために使用されます。特定のケースでは、ハード ドライブまたはパーティションを以前の状態に復元するために、この gho ファイルをハード ドライブに再インストールする必要があります。 ghoファイルのインストール方法を紹介します。まず、インストールする前に、次のツールとマテリアルを準備する必要があります。 エンティティ gho ファイル: 完全な gho ファイルがあることを確認してください。通常、ファイルには .gho 接尾辞が付いており、バックアップが含まれています。

最近、多くのネチズンが編集者に「hiberfil.sys ファイルとは何ですか?」と尋ねました。 hiberfil.sys は C ドライブのスペースを多く消費し、削除される可能性がありますか?エディターは、hiberfil.sys ファイルを削除できることを通知します。以下で詳細を見てみましょう。 hiberfil.sys は Windows システムの隠しファイルであり、システム休止状態ファイルでもあります。通常、C ドライブのルート ディレクトリに保存され、そのサイズはシステムに搭載されているメモリのサイズと同等です。このファイルはコンピュータが休止状態になっているときに使用され、リカバリ中に以前の状態にすばやく復元できるように、現在のシステムのメモリ データが含まれています。そのサイズはメモリ容量と等しいため、より多くのハードドライブスペースを占有する可能性があります。冬休み

ファイル パスは、ファイルまたはフォルダーを識別して検索するためにオペレーティング システムによって使用される文字列です。ファイル パスには、パスを区切る 2 つの一般的な記号、つまりスラッシュ (/) とバックスラッシュ () があります。これら 2 つのシンボルは、オペレーティング システムごとに異なる用途と意味を持ちます。スラッシュ (/) は、Unix および Linux システムで一般的に使用されるパス区切り文字です。これらのシステムでは、ファイル パスはルート ディレクトリ (/) から始まり、各ディレクトリ間はスラッシュで区切られます。たとえば、パス /home/user/Document
