编写java程序中的mapper.xml文件是报错Tag name expected Oracle数据库

前言

小编觉得这个问题虽然不难,但是还是需要做个记号,希望能帮助到其他小伙伴,能够知道怎么解决。

问题描述

我在编写mapper.xml层的sql语句时,遇到了如下问题,在写针对Oracle数据库的sql语句,想做分页的时候,使用 rownum 对数据进行分页处理时遇到的问题如下图所示:

解决方案

检查语法上面觉得没什么错,就很奇怪,然后各种百度,发现需要将对应的<符号,以转义字符的形式写出。如下所示:改为 &lt; 就不会报错,成功解决。

sql中特殊转义字符说明

在 SQL 中,特定的字符可能具有特殊的含义或功能。例如,单引号 ' 用于表示字符串的起始和结束,双引号 " 用于标识对象名称,百分号 % 和下划线 _ 用于模式匹配等。当我们想要在 SQL 语句中使用这些特殊字符本身时,需要使用转义字符将其进行转义。

通过转义字符,我们可以告诉数据库解析器,某个特殊字符不应该被解释为其原有的含义,而应该被当做普通字符对待。例如,在 SQL 字符串中,如果我们需要包含一个单引号字符本身,而不是将其视为字符串的起始或结束标记,那么我们需要使用两个连续的单引号 '' 来进行转义。

转义字符的引入是为了确保 SQL 解析器可以正确地识别和处理特殊字符,并保持 SQL 语句的一致性和完整性。此外,它还有助于预防一些安全问题,如 SQL 注入攻击。通过转义特殊字符,可以降低恶意用户注入恶意代码的风险。

因此小编在这儿整理了,关于sql编写中一些常用特殊字符需要转义字符表示的如下:只要你先正常写sql语句不报错就不需要使用转义字符,如果报上述错误就可以采用这个转义字符做处理。

< 小于符号 对应 &lt;

> 大于符号 对应 &gt;

& 对应 &amp;

空格 对应 &nbsp;

\:反斜杠。如果你想在字符串中插入一个反斜杠,需要使用两个连续的反斜杠 \\ 进行转义。

%:百分号。在使用 LIKE 模式匹配时,如果要匹配 % 字符本身,需要将其转义为 \%

_:下划线。在使用 LIKE 模式匹配时,如果要匹配 _ 字符本身,需要将其转义为 \_。

到此结束啦,这只是小编在写sql遇到的小问题,有什么地方说错的地方,请大家指正,可以写在评论区,大家一起学习进步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值