MyBatisのの強力な機能の1つは、今スペースに注意を払う必要性に、最後のコンマのリスト、およびは、手動で処理することができない、スプライシング前に、MyBatisのは、以下のことを実現するために、強力な表現ベースのOGNLを使用して、その動的SQLですこれは、次をご紹介します。
A、もしラベル
文は、最も一般的であるかどうかを決定する、主にいくつかの簡単な条件選択を実装するために使用されます。次のように基本的な使用例は次のとおりです。
<select id="queryAllUsersByName" resultType="com.example.springboot.mybatisxml.entity.User">
select * from user where 1=1
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="age != null ">
and age = #{age}
</if>
</select>
二、ラベル
上記の例の使用において、「1 = 1」は、フォローアップ状況を回避するためにときにエラーを満たし、そしてそのようなアプローチ、それを回避する方法がないことではないですか?
コースの次を言うことが起こっています
<select id="queryAllUsersByName" resultType="com.example.springboot.mybatisxml.entity.User">
select * from user
<where>
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="age != null ">
and age = #{age}
</if>
</where>
</select>
三、トリムラベル
タグには、以下の主な属性は、トリムました
- 接頭辞:接頭辞のカバレッジとその含有量を増加させます。
- サフィックス:サフィックスのカバレッジとその含有量を増加させます。
- prefixOverrides:プレフィックス決意条件。
- suffixOverrides:サフィックス決意条件。
ここでは2つの例を示します。
- prefix属性
<select id="queryAllUsersByName" resultType="com.example.springboot.mybatisxml.entity.User">
select * from user
<trim prefix="WHERE" prefixOverrides="AND |OR " >
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="sex != null ">
or sex = #{sex}
</if>
<if test="age != null ">
and age = #{age}
</if>
</trim>
</select>
- サフィックスプロパティ
<update id="update" parameterType="Object">
UPDATE user
<trim suffix=" SET " suffixOverrides=",">
<if test="id != null ">id=#{id},</if>
<if test="name != null ">name=#{name},</if>
<if test="age != null ">age=#{age},</if>
</trim>
WHERE ID=#{id}
</update>
IV。
タグ
タグは、次の主要な属性を持っていますforeach
- 項目:ループの現在の要素を表します。
- インデックス:マークがセット位置にある現在の要素を表しています。
- コレクション:設定した属性名のリストのように。
- 開閉:要素のセットをラップしますこれらのシンボルの構成は何ですか。
- セパレータ:スペーサーは、個々の要素が配置されています。
例えば:
<select id="queryAllUsersByName" resultType="com.example.springboot.mybatisxml.entity.User">
select * from user where id in
<foreach item="id" index="index" collection="userList"
open="(" separator="," close=")">
#{id}
</foreach>
</select>
共通の特徴は、上に導入されているこのダイナミックSQLはMyBatisの、ああを通信するためのメッセージを残してください質問があります!
推奨読書
春のセキュリティであなたに1分を取る1.!
使用MyBatisの発電用のコードを生成自動的に学習するためにあなたに1分を取る2.!
あなたの7種類の戦闘の下で春のトランザクション伝播の動作と3手
統合MyBatisの(注釈モード) - 4.SpringBootシリーズ
5.SpringBootシリーズ-統合MyBatisの(XML構成)
Javaの迷惑なチャタリング、元の数に公共の付着、申し出システムアーキテクチャ、マイクロサービス、Javaの、SpringBoot、SpringCloud他の高品質な技術記事の範囲。
あなたは記事が良いと思われる場合は、希望が容易に転送することができたり、「見て」ああ、あなたはとてもヘクタールをありがとう!
「1024」の下で世間の注目の後には返信があなたのために驚きを持っていません!
ブログ記事複数のプラットフォームからこの記事OpenWriteリリース!