mybatis java.sql.SQLException: ORA-00907: 缺失右括号

转载 2015年11月17日 22:35:10

mybatis java.sql.SQLException: ORA-00907: 缺失右括号

url: http://flyeagle.iteye.com/blog/1883980

2013-06-07 16:42

 在使用spring+mybatis进行应用开发时,使用了mybatis的动态SQL,添加动态查询语句:

Xml代码  收藏代码
  1. <select id="getSpasDataLogList"  resultType="com.xxx.xxx.xxxBean" resultMap="spasDataLogMap">  
  2.      <![CDATA[  
  3.       select * from t_table where datetime > #to_DATE(#{startDate}, 'yyyy-mm-dd') 
  4.        <if test="datafrom!= null and datafrom!= ''"> AND a.datafrom like #{datafrom} </if> 
  5.        ]]>   
  6. </select>  

 添加动态查询语句: 

Xml代码  收藏代码
  1. <if test="datafrom!= null and datafrom!= ''"> AND a.datafrom like #{datafrom} </if>   

   报java.sql.SQLException: ORA-00907: 缺失右括号  错误。去除

Xml代码  收藏代码
  1. <if test="datafrom!= null and datafrom!= ''"> AND a.datafrom like #{datafrom} </if>   

 后可以正常执行,原来添加

Xml代码  收藏代码
  1. <![CDATA[ ]]>   

后解析器不对它进行解析<if>不会当mybatis的标签解析,而是以大于符号和小于符号进行解析,所以报错。去除

Xml代码  收藏代码
  1. <![CDATA[ ]]>   

但是,去除<![CDATA[ ]]> 后,发现

Xml代码  收藏代码
  1. datetime > #to_DATE(#{startDate}, 'yyyy-mm-dd')  

 

又报错,需要对大于符号进行转义,修改成:

Xml代码  收藏代码
  1. datetime &gt; #to_DATE(#{startDate}, 'yyyy-mm-dd')  

问题解决。

转义表:

> &gt; 大于
< &lt; 小于
& &amp;
>= &gt;= 大于等于
<= &lt;= 小于等于

 

 

sql语句正确,但是报错java.sql.SQLSyntaxErrorException ORA-00907: 缺失右括号

sql语句如下,在oracle中带入参数能正常执行,在java程序中则报错java.sql.SQLSyntaxErrorException ORA-00907: 缺失右括号 select re....
  • hgg923
  • hgg923
  • 2014年11月27日 17:49
  • 2651

ORA-00907: 缺失右括号问题整理解决

ORA-00907: 缺失右括号前言        最近在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了“ORA-00907: 缺失右括号”的问题,但是如果直接把sql语句直接在数据库...
  • xuemoyao
  • xuemoyao
  • 2016年01月21日 21:42
  • 14371

Spring3 Mybatis 异常处理

Spring3 Mybatis 异常处理 通常在 Dao 层将所有异常都转嫁到 Spring 的 RuntimeException 体系中来 -DataAccessException  Sprin...
  • fover717
  • fover717
  • 2012年12月16日 00:57
  • 27706

mybatis显示sql异常解决

一定要把settings写在前面,不然会报sqlsessionfactory异常。
  • jamesge2010
  • jamesge2010
  • 2016年11月27日 23:12
  • 861

mybatis java.sql.SQLException: ORA-00907: 缺失右括号

mybatis java.sql.SQLException: ORA-00907: 缺失右括号 url: http://flyeagle.iteye.com/blog/1883980 2013-06...
  • jackpk
  • jackpk
  • 2015年11月17日 22:35
  • 2348

java.sql.SQLException: ORA-00917: 缺失逗号

ibatis Cause: java.sql.SQLException: ORA-00917: 缺失逗号 ibatis Cause: java.sql.SQLException: O...
  • lifuxiangcaohui
  • lifuxiangcaohui
  • 2013年04月16日 11:49
  • 7699

ora-00907 缺失右括号3

ora-00907 缺失右括号 刚刚接触Oracle数据库,在使用PL/SQL dev建表的时候,碰到了ora-00907这个错误,在网上找了很多资料,发现别人碰到的那个问题,跟我碰到的这个问题...
  • zhengqiqiqinqin
  • zhengqiqiqinqin
  • 2012年08月12日 14:56
  • 21921

oracle ORA-00907: 缺失右括号 问题已解决

问题出现情况: select * from (select a,b,cfrom tab_aorder by a  union allselect a,b,cfrom tab_border by a) ...
  • firetaker
  • firetaker
  • 2010年06月13日 09:47
  • 14832

java.sql.SQLSyntaxErrorException: ORA-00907: 缺失右括号

在使用spring+mybatis进行应用开发时,使用了mybatis的动态SQL,添加动态查询语句:   parameterType="mocha.sample.archives.entity.A...
  • hdqhdq123
  • hdqhdq123
  • 2014年12月11日 21:08
  • 406

java.sql.SQLException: ORA-00907: 缺失右括号

web工程报错 原因是:DAO层里的SQL语句 Where 之后的条件 缺少 and 所以报错。写下错误,提醒自己。...
  • Limewwy
  • Limewwy
  • 2014年03月05日 15:52
  • 649
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mybatis java.sql.SQLException: ORA-00907: 缺失右括号
举报原因:
原因补充:

(最多只允许输入30个字)