mybatis xml mapper 文件中 if-else 写法
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>
其中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>
下面就是MyBatis中的if....else...表示方法
<choose> <when test=""> //... </when> <otherwise> //... </otherwise> </choose>