[TOC]
一. if的使用
mybatis做if 判断 注意:下面这种写法只适用于 id 类型为字符串.
<if test="id != null and id != '' ">
id = #{id}
</if>
如果id类型为int 当id=0时 这个判断不会进入.
可以这样写<if test="id != null and id != '' or id==0">
或者这样写<if test="id != null ">
来自: https://blog.csdn.net/qq_33626745/article/details/52955626
二. where
用在where条件不确定的情况下,where下的and
和or
会自动增加和去除,如下案例
<select id="getUserList_whereIf" resultMap="resultMap_User" parameterType="com.yiibai.pojo.User">
SELECT u.user_id,
u.username,
u.sex,
u.birthday
FROM User u
<where>
<if test="username !=null ">
u.username LIKE CONCAT(CONCAT('%', #{username, jdbcType=VARCHAR}),'%')
</if>
<if test="sex != null and sex != '' ">
AND u.sex = #{sex, jdbcType=INTEGER}
</if>
<if test="birthday != null ">
AND u.birthday = #{birthday, jdbcType=DATE}
</if>
</where>
</select>