今天在使用<if></if>标签的时候遇到一个小问题 ,直接贴sql,
<!-- 转单 -cq -->
<update id="changeOrderType" parameterType="pd">
update
busi_repair
set
order_type=#{order_type},
repair_no = concat(#{no_prefix},substring(repair_no,3)),
<if test="order_type != null and order_type == '6' "><!-- 转为洗车单 -->
js_total_actual= 0.00 ,
</if>
modify_name=#{modify_name},
modify_datetime=#{modify_datetime}
where
repair_id = #{repair_id}
</update>
其中order_type 传入的参数是 6(String),但是执行出来的语句却并没有 js_total_actual= 0.00 , 百思不得其解,最后发现是在<if></if>语句中order_type 被自动转为了int 类型,将之改为<if test="order_type != null and order_type == 6 "><!-- 转为洗车单 -->即可!