`
flyeagle
  • 浏览: 214836 次
  • 来自: ...
社区版块
存档分类
最新评论

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

阅读更多

 

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

 

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

 添加动态查询语句: 

<if test="datafrom!= null and datafrom!= ''"> AND a.datafrom like #{datafrom} </if> 

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

<if test="datafrom!= null and datafrom!= ''"> AND a.datafrom like #{datafrom} </if> 

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

<![CDATA[ ]]> 

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

<![CDATA[ ]]> 

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

datetime > #to_DATE(#{startDate}, 'yyyy-mm-dd')

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

 

datetime &gt; #to_DATE(#{startDate}, 'yyyy-mm-dd')

问题解决。

转义表:

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

 

 

 

 

 

分享到:
评论

相关推荐

    解决Exception java.sql.SQLException ORA-00600 内部错误代码

    在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码

    Mybatis出现ORA-00911: invalid character的解决办法

    今天在项目中,使用Mybatis对oracle数据库进行操作的时候,报出ORA-00911: invalid character的错误,检查了一下SQL,发现都书写正确啊,复制到plsql上执行也都没问题,这什么原因呢? 注意:这里说的是用navicat...

    ora-01460 错误原因分析

    ### ORA-01460 错误原因分析 #### 概述 在Oracle数据库操作过程中,可能会遇到ORA-01460错误,该错误全称为“ORA-01460: 转换请求无法实现或不合理”。这一错误通常发生在数据类型转换或者与操作系统之间的数据...

    mybatis 报空值异常

    java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 ``` 这通常是因为 SQL 语句中存在非法字符,如多余的分号(`;`)。例如: ```xml select * from (select id, name, nvl(pid, '无') pid from t_resource...

    java连接oracle数据库

    import java.sql.SQLException; ``` 3. **数据库连接信息**:为了建立连接,你需要Oracle数据库的URL、用户名和密码。URL的格式通常是: ```java jdbc:oracle:thin:@//hostname:port/service_name ``` 其中,...

    一个通用数据库操作类

    6. **面向对象封装**:将数据库记录映射为Java对象(ORM,Object-Relational Mapping),如使用Hibernate或MyBatis框架,使得数据库操作更加面向对象。 7. **批处理操作**:允许一次提交多个SQL语句,提高效率。 8...

Global site tag (gtag.js) - Google Analytics