mybatis参数String与Integer类型的判断方式是什么
导读:本文共855.5字符,通常情况下阅读需要3分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: String与Integer类型的判断mybatis写update时,正常是set了值才会进行update操作我们一般是这样写<iftest="sampleBatchNo!=nullandsampleBatchNo!=''">SAMPLE_BATCH_NO=#{sampleBatchNo,jdbcType=VAR... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。String与Integer类型的判断
mybatis写update时,正常是set了值才会进行update操作
我们一般是这样写
<iftest="sampleBatchNo!=nullandsampleBatchNo!=''">SAMPLE_BATCH_NO=#{sampleBatchNo,jdbcType=VARCHAR},</if>
1、 String类型是符合的,但是如果是Integer类型的话,mybatis会将i==0的值也认定为空字符串。
所以如果是Integer类型只需要判断!= null即可
2、如果String类型需要判断不等于0,则需要写sampleBatchNo != '0'.toString(),否则会报错。
使用<if>标签判断Integer类型的坑
之前只知道如果是Integer类型,判断是否传参的时候判空就好,因为0会被认为和空字符''相等。
没想到还有另外的问题
<iftest="req.type!=nullandreq.type=1"></if>
注意上面的第二个条件使用的单个等号
此时不管你req.type传啥值(0啊,null啊,负数啊),甚至是不传这个属性,都会符合条件
<iftest="req.type!=nullandreq.type==1"></if>
然后我改成==之后,一切恢复正常。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
mybatis参数String与Integer类型的判断方式是什么的详细内容,希望对您有所帮助,信息来源于网络。