记一个坑-ibatis中SQL语句带#

被这个字符坑了一上午。
之前的项目是用mysql+ibatis的,今天有个用oracle的旧项目要改。
所以一开始一直以为是oracle和mysql在ibatis上使用的差异。
但是在navicat上,整个查询统计语句都是正常执行的。

ibatis中的SQL语句(部分)如下:
在这里插入图片描述

tomcat启动后,报如下这个错:
在这里插入图片描述
在这里插入图片描述
看报错,是定位到to_char这个方法,这个是oracle的方法。然后网上搜索了一下,有说是要加别名,原因也有说清楚。
在这里插入图片描述
但试了后,没用,反而更错了。。

后来没办法,只好先逐个删除查询结果字段,最后发现,其它to_char函数是没问题的,那么问题就是出在to_char附近了。

又仔细看了下,才发现是这个#是ibatis参数语法使用的字符,且都是要成对出现的,要想作为普通字符使用,应该得用转义。

所以又查了下,ibatis里的转义:
在这里插入图片描述
这下总算是可以正常通过ibatis检测,正常启动tomcat了。

猜你喜欢

转载自blog.csdn.net/babdpfi/article/details/124302325