mybatis if-else写法
原文链接:https://www.cnblogs.com/a8457013/p/8033263.html
mybaits 中没有else要用chose when otherwise 代替
代替之后的表示方法为:
<choose> <when test=""> //... </when> <otherwise> //... </otherwise> </choose>
范例一
<!--批量插入用户--> <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>
其中choose为一个整体
when是if
otherwise是else
范例二:
<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>