MyBatis處理空值的方法有兩種:
<select id="getUserById" parameterType="java.lang.Integer" resultType="User">
SELECT * FROM user
WHERE id = #{id}
<if test="name != null">
AND name = #{name}
</if>
</select>
<select id="getUserById" parameterType="java.lang.Integer" resultType="User">
SELECT * FROM user
<where>
id = #{id}
<if test="name != null">
AND name = #{name}
</if>
</where>
</select>
這兩種方法都可以有效地處理參數為空時不添加條件,避免出現SQL語法錯誤。