240
世界上有2种人,一种懂二进制,另一种不懂二进制。

关于mybatis- SQL 语句中出现 < 的解决方案

'<' 符号和 '<=' 符号不能直接在映射文件中使用

  • 解决方法一

字符转义

 

 

以上这张表就是 MyBatis 映射文件特殊字符转义表,'<' 符号在 XML 映射文件中其实是特殊字符,因为它和映射文件中的标记符号 ’< / >' 无法区别,所以需要用转义字符把它替换掉。

那么,'<' 问题解决办法如下:

select * from tb_user where name = #{name} and age &lt; #{user.age};

执行测试,正确显示结果,问题搞定。

  • 解决方法二

使用

在使用 mybatis 时我们 SQL 语句是写在 XML 映射文件中,如果 SQL 语句中有一些特殊的字符的话,在解析 XML 文件的时候会被转义,但我们不希望它被转义,所以我们可以使用来解决。

是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略,只简单当做字符串处理。

那么,'<' 问题解决办法如下:

select * from tb_user where name = #{name} and age <![CDATA[ < ]]> #{user.age};

执行测试,OK

posted @ 2022-11-15 17:32  _Origin  阅读(784)  评论(0编辑  收藏  举报