243
文章
15
说说
251
评论
244427
访问

个人博客网站:prettywordpress.com(吃饭用大碗的程序猿)

最新评论
qq_avatar
1年前,”四五设计网”在《如何使用百度云CDN优化wordpress速度》
说:来学习一下,应该用得上
qq_avatar
2年前,” ”在《友情链接》
说:像不能用了更新地址为 https://aba.pet/wp-content/uploads/2022/05/favicon-1.gif
qq_avatar
2年前,”Alex”在《终于找到拖慢网站的罪魁祸首》
说:优化这么快,你有想过我们的感觉?
qq_avatar
3年前,”ヘル”在《码农=新生代农民工》
说:打卡@[huaixiao]
qq_avatar
3年前,”肋巴骨”在《Win10系统桌面一直闪屏自动刷新怎么办》
说:不错啊,这是谁写的教程,真棒
A+

解决MyBatis的mapper中SQL小于号或大于号报错-tag name expected

标签: 最后编辑:2020年5月26日

通常写SQL我们都会在Navicat里面写好条件测试没问题之后才会把SQL放到mapper里面,有次我在写Oracle的分页的时候因为用到了<=符号,在Navicat测试的时候是没问题的,但是放到mapper里面就会报(tag name expected)这个错误提示,这种情况在xml处理SQL的程序中需要特殊处理。

 解决方法很简单,我们只需要将个别特殊符号使用转义字符就好了:

< <= > >= & ' "

&lt;

&lt;=

&gt;

&gt;=

&amp;

&apos;

&quot;

如果是在if标签里面的话就可以直接使用<、<=、>=、>符号

<if test="userId >0 && userId <= 10 ">
       t.userId = #{userId}
</if>

案列:
将 >= 改为&gt;=
<selece id="xxx" resultmap="xxx" parameterType="xxx">
 SELECT
 * 
 FROM
 ( SELECT ROWNUM AS rowno, t.ID FROM t_user t WHERE ROWNUM <= 2000) t_user 
 WHERE
 t_user.rowno >= 1;(错误写法)
</select>
<selece id="xxx" resultmap="xxx" parameterType="xxx">
 SELECT
 * 
 FROM
 ( SELECT ROWNUM AS rowno, t.ID FROM t_user t WHERE ROWNUM <= 2000) t_user 
 WHERE
 t_user.rowno &gt;=1;(正确写法)
</select>
上面就是如何解决MyBatis的mapper中SQL小于号或大于号报错的方法,我提供案列的是Oracle的分页查询SQL,如果大家分不清MySQL和Oracle的分页的话可以参考这篇文章:https://www.prettywordpress.com/back-end/development-faq/mysql-oracle-paging.html 。如果你喜欢这篇文章的话可以多多关注本网站,吃饭用大碗的程序猿会每天定时更新IT技术分享噢~

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表一下你的评论呗

回复评论代表你同意网站的 隐私政策

... 友情提示 请保留版权标识
复制成功!
目录