mybaits 中没有else要用chose when otherwise 代替,其语法格式如下:
<choose>
<when test="">
//...
</when>
<otherwise>
//...
</otherwise>
</choose>
实例:
<insert id="saveAlarmLogByBatch" parameterType="java.util.List">
insert into alarm_log(`name`, scan_type, src_name, src_ip, src_mac, dst_name, dst_ip, dst_mac, port_range,
`time`, alarm_id) values
<foreach collection="alarmLogList" item="alarmLog" index="index" separator="," open="(" close=")">
<choose>
<when test="alarmLog.name != null">
#{alarmLog.name},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.scanType != null">
#{alarmLog.scanType},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.srcName != null">
#{alarmLog.srcName},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.srcIp != null">
#{alarmLog.srcIp},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.srcMac != null">
#{alarmLog.srcMac},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.dstName != null">
#{alarmLog.dstName},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.dstIp != null">
#{alarmLog.dstIp},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.dstMac != null">
#{alarmLog.dstMac},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.portRange != null">
#{alarmLog.portRange},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="alarmLog.time != null">
#{alarmLog.time},
</when>
<otherwise>
0,
</otherwise>
</choose>
<choose>
<when test="alarmLog.alarmId != null">
#{alarmLog.alarmId}
</when>
<otherwise>
0
</otherwise>
</choose>
</foreach>
</insert>