在 MyBatis 中,表示不等于的语法需要使用转义字符 <;>;
。如果你直接写 select * from user where id 217
,MyBatis 会报语法错误,因为 217
被视为一个字符串常量,而字符串常量应该用单引号括起来。正确的写法是使用 <;>;
来表示不等于,例如:
<select id="selectUserById" resultType="User">
SELECT * FROM user WHERE id <;>; #{id}
</select>
在这个例子中,#{id}
是一个参数,它会被 MyBatis 替换为传入的参数值。如果你需要使用 OGNL
表达式进行条件判断,并且判断条件中包含 not
关键字,需要注意 not
关键字后面要跟一个空格,否则会导致语法错误。例如:
<select id="selectUserByStatus" resultType="User">
SELECT * FROM user WHERE status <;>; '0'
</select>
在这个例子中,status <;>; '0'
表示选择状态不等于 0
的用户记录。