<selectid="getUserList"resultMap="getUserList">
select user.* from smbms_user as user
<!-- 通过where标签动态剔除拼接的and和or --><where>
user.userRole=role.id
<!-- 通过if标签防止输入null导致无查询结果 --><iftest="userName != null and userName != ''">
and user.userName like Concat('%',#{userName},'%')
</if><iftest="userRole != null">
and user.userRole=#{userRole}
</if></where></select>
trim替代where
<selectid="getUserList"resultMap="getUserList">
select user.* from smbms_user as user
<!-- 通过trim标签动态剔除拼接的and和or --><trimprefix="Where"prefixOverrides="and | or ">
user.userRole=role.id
<iftest="userName != null and userName != ''">
and user.userName like Concat('%',#{userName},'%')
</if><iftest="userRole != null">
and user.userRole=#{userRole}
</if></trim></select>