Ali p7は、mybatisにforeachでのスプライシング操作をトラバースする方法を3分間教えます。

この記事では、主にmybatisト​​ラバーサルforeachの操作やスプライシングについて紹介しますが、これは参考値として優れており、皆様のお役に立てれば幸いです。エディターに従って見てみ
ましょう。あまりナンセンスなことは言いませんが、キーコードを直接見てみましょう。

select id, name from t_keys where 1 = 1
<if test="keys != null"> 
 <foreach collection="keys" item="key" open="AND (" close=")" separator="or" > 
 name = #{
    
    key} 
 </foreach> 
</if>

補足:mybatis xmlの動的SQLには、およびまたはスプライシング条件の判断の記述方法が必要です。

通常、andまたはorは、Javaバックグラウンドまたはフロントエンドjsでの複数の条件の組み合わせの判断に次のように使用されます。

//使用&或者&& | 和||
if(a==1&b==2){
//或者sql文中的and和or
select * from emp where empno='7788' and deptno='20'

しかし、動的SQLはどうですか?
次に、()を使用して各条件を囲み、andまたはorを追加する必要があります。

//动态添加语句
<if test="(buhinmt.buhinCd!= null and buhinmt.buhinCd != '') or(buhinmt.syohinCd!= null and buhinmt.syohinCd != '')">
 AND BM.buhin_cd = SMBM.buhin_cd 
 AND SMBM.syohin_cd = SM.syohin_cd 
 AND SM.syurisaki_cd = SYUM.syurisaki_cd
 </if>

上記は個人的な経験ですので、参考にしていただきたいと思いますので、編集者のサポートをお願いします。間違いや十分に考慮されていない場合は、遠慮なく私に教えてください。

おすすめ

転載: blog.csdn.net/dcj19980805/article/details/115310252