`
wufeji
  • 浏览: 20838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ibatis ORA-00936: 缺失表达式 异常原因之一

 
阅读更多

用ibatis2.0做持久层开发,出现以下异常:

com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the FINGERDB_MANAGERINFO.countByParams-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: java.sql.SQLException: ORA-00936: 缺失表达式

Caused by: java.sql.SQLException: ORA-00936: 缺失表达式

	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:565)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:540)
	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:84)
	at data.ManagerInfoDao.countByParams(ManagerInfoDao.java:33)

 经排查,错误在此处:

<isNotEmpty prepend="AND" property="deptnos">
  	 			<iterate prepend="AND" property="deptnos" open="(" close=")" conjunction="or">
  	 				DEPTNO = #deptnos[]#
  	 			</iterate>
  	 		</isNotEmpty>

 去掉

prepend="AND"

 改成以下即可。

<isNotEmpty prepend="AND" property="deptnos">
  	 			<iterate property="deptnos" open="(" close=")" conjunction="or">
  	 				DEPTNO = #deptnos[]#
  	 			</iterate>
  	 		</isNotEmpty>

 

分享到:
评论

相关推荐

    ibatis-common包

    ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包

    ibatis-sqlmap-2.jar.zip

    iBatis-SQLMap 2是iBatis框架的一个重要组成部分,它提供了SQL映射文件和Java对象之间的映射机制,使得开发者可以更方便地处理数据库操作。`ibatis-sqlmap-2.jar`是该版本的核心库文件,包含了iBatis框架的所有功能...

    ibatis-传智播客(缺二个课时)

    【标题】"ibatis-传智播客(缺二个课时)" 提示我们这是一个关于iBatis的视频教程,可能来自于传智播客教育机构,不过内容不完整,缺少了两个课时。 【描述】"ibatis-传智播客(缺二个课时)" 的重复描述进一步确认了这...

    apache开源项目源码ibatis-3-core-src-3.0.0.227(ibatis框架java源程序)

    apache开源项目源码ibatis-3-core-src-3.0.0.227 ibatis框架java源程序 spring,struts,hibernate,ibatis,框架源码 各种ibatis框架应用源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其...

    ibatis-3-core-3.0.0.242.jar.zip

    ibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zip

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    这里提到的是iBATIS的三个不同版本的jar包:ibatis-2.3.4.726.jar、ibatis-2.3.0.677.jar以及ibatis-2.3.3.720.jar。 首先,让我们深入了解iBATIS的核心概念和功能: 1. **SQL Map配置**:iBATIS的核心是SQL Map...

    iBATIS-SqlMaps-2-Tutorial_cn.pdf

    iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf

    ibatis jar文件

    描述中提到的几个版本和子项目,包括mybatis3.0.5、ibatis-core-3.0、ibatis-core-3.0-sources、ibatis-dao-2、ibatis-sqlmap-2,这些是iBATIS不同版本和组件的标识: 1. mybatis3.0.5:这是MyBatis的3.0.5版本,...

    ibatis-3-core-3.0.0.200

    ibatis-3-core-3.0.0.200

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    《深入解析iBatis-SQLMap 2.3.4.726源码》 在Java开发领域,iBatis作为一个优秀的持久层框架,深受广大开发者喜爱。它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。本篇将围绕iBatis-SQLMap 2.3.4.726...

    ibatis-core-3.0.jar.zip

    《深入解析iBatis核心库:ibatis-core-3.0.jar》 iBatis,一个优秀的持久层框架,以其轻量级、易用性、灵活性等特性深受开发者喜爱。在Java开发领域,iBatis作为数据访问层的解决方案,为数据库操作提供了强大的...

    ibatis-3-core-3.0.0.242.zip

    ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip

    iBATIS-DAO-2

    它是iBATIS的核心组件之一,通过它实现SQL语句的动态生成和参数化查询。 5. **SQLMap**:包含SQL映射定义的容器。它存储了所有SQL语句及其对应的参数类型和返回类型信息,是实现数据访问的关键。 通过以上概述,...

    ibatis 缓存 - 24小时学习网.mht

    ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网

    ibatis-sqlmap-2.jar

    ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用

    ibatis2-dao-2.1.6.589.jar

    ibatis2-dao-2.1.6.589.jar文件,ibatis实现控制层

    ibatis-3是一个很不错的持久层框架

    Ibatis-3 是一款高效且灵活的持久层框架,专为简化Java应用程序中的数据访问层(DAL)设计。它提供了一个中间层,将数据库操作与业务逻辑分离,使得开发人员能够更好地控制SQL语句,提高代码的可读性和可维护性。在...

    ibatis-common.jar包

    除此之外,ibatis-common.jar还提供了异常处理、日志记录、缓存管理等辅助功能,为开发者提供了一个完整的数据访问解决方案。在实际开发中,熟练掌握ibatis-common.jar包的使用,不仅可以提高开发效率,还能确保代码...

    ibatis入门--对数据库的操作

    【ibatis入门--对数据库的操作】这篇文章主要讲解了如何使用iBatis框架来操作数据库,iBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提高了开发效率和代码的可维护性。以下是文章涉及的关键知识点: ...

    Qt 全流程实战企业级项目 - 云对象存储浏览器(24章)

    步骤1: 创建Qt项目首先,我们需要创建一个新的Q项自。打开Qt Creatr,并选择“新建项目”,然后选择“Qt Widgets应用程序”。为项目命名并选择保存路径。点击“下一步”并按照向导的指示完成项目创建过程。 步骤2: ...

Global site tag (gtag.js) - Google Analytics