mybaits 中没有else要用chose when otherwise 代替
模板:
<!--批量插入用户-->
<insert id="insertBusinessUserList" parameterType="java.util.List">
insert into `business_user` (`id` , `user_type` , `user_login` )
values
<foreach collection="list" index="index" item="item" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null and item.id !=''">
#{item.id,jdbcType=CHAR},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="item.userType != null and item.userType !=''">
#{item.userType,jdbcType=VARCHAR},
</when>
<otherwise>
'',
</otherwise>
</choose>
</trim>
</foreach>
</insert>
<select id="selectSelective" resultMap="xxx" parameterType="xxx">
select
<include refid="Base_Column_List"/>
from xxx
where del_flag=0
<choose>
<when test="xxx !=null and xxx != ''">
and xxx like concat(concat('%', #{xxx}), '%')
</when>
<otherwise>
and xxx like '**%'
</otherwise>
</choose>
</select>
使用
<!--获取业务量发展报表月份倒序集合-->
<select id="monthList" resultType="java.lang.Integer">
select `month` from business_development
<choose>
<when test="#{topOrgCode} == #{orgCode}">
where topOrgCode = #{topOrgCode}
</when>
<otherwise>
where topOrgCode = #{topOrgCode} and code = #{orgCode}
</otherwise>
</choose>
group by month order by month desc
</select>