ibatis sqlmap配置文件中sql语句不能最后加分号

系统 1742 0

在ibatis的sql配置文件中,如果是单独的sql语句,就是不是过程的情况下,写的sql语句是不能使用分号做结尾的,不然程序运行的时候会报

ora-00911: 无效字符

 

例如:

    <select id="selectJobs" resultClass="com.tc.fts.ibatis.model.DbaJobs" parameterClass="String">
		<![CDATA[
        select t.JOB,t.LAST_DATE,t.THIS_DATE,t.NEXT_DATE,t.TOTAL_TIME,t.interval,t.FAILURES,t.WHAT 
        from sys.dba_jobs t 
        where t.LOG_USER='CTXSYS' and t.WHAT like '%$indexname$%';
        ]]>
	</select>
  

 就是因为最后加了一个分号会报错。

 

如果是过程或者程序片段就可以

    <insert id="createJob" parameterClass="java.util.HashMap">
		<![CDATA[
		variable jobno number;
        begin 
        DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''$indexname$'',''$memory$'');', SYSDATE, '$interval$'); 
        commit; 
        END;
		]]>
	</insert>
  

 

 

具体的原因就是因为   “Oracle数据库接口对书写格式要求非常严格,有时候即使多加一个空格,多加一个逗号,分号,回车等都不行”。

 

常使用pl/sql developer的同志们都喜欢在sql语句的最后加一个分号,代表语句结束,但是用JDBC执行的时候会报错哦,希望大家注意。

ibatis sqlmap配置文件中sql语句不能最后加分号


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论