この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
ジャワ
›
MyBatisのメモはMapperインターフェースで注釈付けされています
眺める:
13726
|
答える:
0
[出典]
MyBatisのメモはMapperインターフェースで注釈付けされています
[リンクをコピー]
クズども
掲載地 2019/01/16 13:00:53
|
|
|
|
1. マイバティスが支援するマッピング手法
mybatisがサポートするマッピング手法には、xmlベースのmapper.xmlファイルとjavaに基づくマッパーインターフェースクラスが含まれます。
インターフェースメソッドの注釈は主に4つあります:@Insert、@Delete、@Update、@Select
2. インターフェース注釈を用いたマッピング方法
以下の実験はすべてt_user表に基づいており、次のように構成されています。
ログインが見えます。
2.1 @Insertの増加
これには基本的に3つの方式があり、手動指定(アプリケーション層)、自己加算主キー(データ層単一テーブル)、主キー選択(データ層複数テーブル)です。
1. アプリケーション層で主キーを手動で指定する
手動方式はプライマリキーを異なる扱いにせず、アプリケーション層が挿入前にオブジェクトを生成する際にプライマリキーに値を与えます。これは挿入時の通常のフィールドと変わりません。
ログインが見えます。
上記の例では、mybatisはどのフィールドが主キーか、idがプライマリキーフィールドであることを知りませんが、異なる扱いはありません。
#{username}メソッドは現在のコンテキストとしてUserを使うため、Userの属性にアクセスする際に直接属性名を書き込めることに注意してください。
2. 表が主キーを追加します
自己増分のプライマリキーはXML構成におけるプライマリキーのバックフィルに対応しており、簡単な例です:
ログインが見えます。
XMLのselectタグセットのプロパティに対応するにはOption、自己増分の主キーを使いたい場合にはuserGeneratordKeys、主キーフィールドのフィールド名を指定するにはkeyPropertyを使いましょう。
自己増量の主キーは、基礎となるデータベースの自己増量機能を利用します。
3. 主キーを選択する
プライマリキーを選択してデータレイヤーから値を生成し、その値をプライマリキーの値として使います。
ログインが見えます。
2.2 削除@Delete
削除時は、@Delete注釈の値に条件を書き、成功裏に削除されたレコード数としてint型を返すだけです。
ログインが見えます。
2.3 変更@Update
変更時は、@Updateの値にSQL文を書き、修正済みレコード行数を示すint型を返すだけです。
ログインが見えます。
2.4 チェック@Select
クエリはやや複雑で、検索は見つけたフィールドをオブジェクトにどう設定するかを含み、通常3つの方法があります。
1. SQL文で手動でエイリアスを指定する
SQL文を書く際は、各フィールドにオブジェクトの属性に対応するエイリアスを手動で割り当てます。これは、テーブルフィールド名とオブジェクト属性名が大きく異なり、テーブルフィールドが少ない状況に適しています。
ログインが見えます。
2. mybatisの自動下線ハンプ変換を活用します
mybatisにはmapUnderscoreToCamelCaseというオプションがあり、テーブル内のフィールド名がオブジェクトの属性名と同じで、アンダースコアとハンプの書き込みの違いがある場合に適用されます。
mapUnderscoreToCamelCaseを設定した後、mybatisはResultSetで見つけたデータをオブジェクトに設定する際にアンダースコアをハンプに変換しようとし、その後セットを前面にステッチして属性を設定します。
変換をオンにしてください:
次に質問します:
ログインが見えます。
印刷された結果を見ると、birth_day属性がオブジェクトに入力されます:
3. ResultMapの使用
テーブルのフィールド名とオブジェクトの属性名があまり異なり、テーブル内に多くのフィールドがある場合は、適応のためにResultMapを使うべきです。
ログインが見えます。
@ResultsはXMLのResultMapに対応しており、IDを指定すれば上記の結果を参照するために使えます。
ログインが見えます。
@ResultMapを使って既存のResultMapを参照してください。ResultMapはJavaで、@Results注釈を使って定義したり、XMLでresultMapタグを使って定義したりできます。
2.5 サンプルコード
User.java
ログインが見えます。
UserMapper.java
ログインが見えます。
3. 概要
インターフェース注釈使用の利点:
1. 写像文の作成がより便利で迅速です
インターフェース注釈を使用する欠点:
1. 比較的単純な構成に適しており、インターフェースが複雑すぎると作成できません。
2. 動的SQLが使えず、少し味気ない。
先の:
デーモンスピリット召喚 V4.1.8は控えめに使われています
次に:
Kirin記事オリジナリティ検出ツールv2.0(著者連絡先情報を削除)
関連記事
•
SQL Serverサーバーはデータベースの整合ルールを修正します
•
SQL SERVERデータベースはデフォルトの照合ルールを修正します
•
SQL Serverのレプリケーションは、データベースを新しいデータベースにクローンします
•
MySQLデータベースのテストテーブルは1,000万件のデータを挿入します
•
[翻訳] なぜNET/C#のMySqlConnectorとMySql.Dataが前者を勝ち取るのか
•
.NET/C# はDataTablesを通じて動的にテーブル構造を作成します
•
SQL SERVERデータベース用のメモリ最適化テーブル
•
SQL Serverがクラスタ化されていないインデックスに対して作成する最大varchar長
•
[AI](15)ベクターデータベースQdrantは使いやすいです
•
【AI】(14) オープンソースベクターデータベースの簡単な紹介
閲覧したセクション
リソースの共有
Microsoft SQL Server
レジャー灌漑
.Net/C#
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com