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语法错误。