`

使用ibatis时遇到Error parsing XPath '/sqlMapConfig/sqlMap'低级错误

阅读更多

使用ibatis时,遇到一错误。是疏忽造成的,留作记录。
错误信息如下:

RROR Plat.Ser: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89)

 

Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86)
        ... 27 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
        at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
        at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
        ... 28 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:51)
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:410)
        at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
        ... 32 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'.  Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
        at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
        at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
        at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
        ... 35 more
Caused by: java.lang.RuntimeException: Could not find SQL statement to include with refid 'Insert_column'
        at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseDynamicTags(SqlStatementParser.java:255)
        at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.processSqlStatement(SqlStatementParser.java:204)
        at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:120)
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$19.process(SqlMapParser.java:563)
        at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
        ... 39 more

 代码如下:

<insert id="Insert" parameterClass="uecpSplitOrder">
		insert into umpay.$tableName$(
			<include refid="Insert_column" />
		) 
		values (
			<include refid="Insert_value" />
		)
</insert>
<sql id="Insert_column">
................................
</sql>
<sql id="Insert_value">
.................................
</sql>

 相信睿智的各位都已经发现了问题。没错,引用者放在了被引用者的前面,ibatis解析的时候找不到refid的对象,从而导致出错。

 

分享到:
评论

相关推荐

    记一次Ibatis的意外发生.docx

    Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'。这种错误是由于SqlMapConfig.xml文件的配置不正确引起的。 4. IBatis的Namespace 在IBatis中,Namespace是用于区分不同的...

    ibatis应用

    应用框架 ibatis. &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL MAP Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"&gt; ...

    ibatis 连接字符串 SqlMapConfig.xml

    标题中的“ibatis 连接字符串 SqlMapConfig.xml”指的是使用iBATIS(一个轻量级的Java持久层框架)时,配置数据库连接的关键文件——SqlMapConfig.xml。这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器...

    ibatis_SqlMapConfig配置详解

    最后,`&lt;sqlMapConfig&gt;`中还可以包含多个`&lt;sqlMap&gt;`子元素,每一个代表一个单独的SQL映射文件,这些文件通常以`.xml`格式存在,里面定义了具体的SQL语句和结果映射。 总结来说,`ibatis_SqlMapConfig`配置文件是...

    IBatis.net-IBatis.DataAccess.1.9.2/IBatis.DataMapper.1.6.2

    接着,使用IBatis.DataAccess的SqlMap实例,加载配置文件,通过接口调用执行SQL,例如: ```csharp ISqlMap sqlMap = SqlMap.GetInstance(); sqlMap.Configure("SqlMap.config"); List&lt;MyObject&gt; objects = sqlMap....

    ibatis用xml配置文件配置使用

    本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...

    IBatis多数据库,可通过配置指定不同的实体使用不同的数据库

    1.每个实体类需要配置各自的“SqlMap.config”在“config/SysConfig.xml”中,SqlMap,db1.Db1SqlMap就是“ibatis/db1/Db1SqlMap.config”,不同的db将分配不同的mapper类。 2.数据库链接统一放在“config/ibatis/...

    sql-map-2.dtd和sql-map-config-2.dtd

    引入sql-map-config-2.dtd后,开发者可以确保配置文件的语法正确,避免因格式错误导致的运行时问题。 在实际应用中,这两个DTD文件通常会被引用到对应的XML配置文件顶部,如下所示: ```xml &lt;!DOCTYPE sqlMap ...

    ibatis个人笔记

    &lt;properties resource="com/ibatis/SqlMap.properties"/&gt; ${driver}"/&gt; ${url}"/&gt; ${username}"/&gt; ${password}"/&gt; &lt;/dataSource&gt; &lt;/transactionManager&gt; &lt;sqlMap resource="com/ibatis/Users.xml"/&gt; &lt;/...

    ibatis 学习源码

    DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"&gt; &lt;sqlMapConfig&gt; cacheModelsEnabled="true" enhancementEnabled="true" ...

    ibatis-sqlmap-2.3.0中sqlmap支持通配符

    在Ibatis SqlMap 2.3.0中,它为开发者提供了这样的功能,允许在SQL语句中使用通配符来实现这种需求。 1. **通配符的种类**: - `%`:代表任意多个字符,包括零个字符。例如,在`LIKE 'abc%'`中,可以匹配到以"abc...

    ibatis-sqlMap相关参考

    【标题】:“Ibatis-SQLMap相关参考” 在IT领域,Ibatis是一个广泛使用的轻量级持久层框架,它提供了一种将SQL语句与Java代码分离的方式,从而简化了数据库操作。SQLMap是Ibatis的核心组件,它定义了如何执行SQL...

    iBATIS实战 iBATIS In Action PDF Part 3/3

    iBATIS实战 iBATIS In Action PDF 三个压缩分卷。 本书是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的...

    iBATIS实战 iBATIS In Action PDF Part 1/3

    iBATIS实战 iBATIS In Action PDF 三个压缩分卷。 本书是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的...

    iBATIS实战 iBATIS In Action PDF Part 2/3

    iBATIS实战 iBATIS In Action PDF 三个压缩分卷。 本书是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的...

    ibatis相关的common,dao,sqlmap包

    这个压缩包包含了Ibatis的三个关键组件:common、dao和sqlmap,它们各自扮演着不同的角色,共同构成了Ibatis框架的核心功能。 1. **Ibatis-common**: Ibatis-common 包含了Ibatis框架的基础工具类和通用模块,...

    ibatis-sqlmap_2.3.4_2.jar两个版本的jar包

    在选择使用时,通常建议使用有明确版本号的jar包,以确保稳定性和兼容性。 三、核心概念 1. SQL Map:定义了SQL语句及其参数映射,每个SQL Map代表一个数据库表或视图。 2. Statement:在SQL Map中,Statement代表...

    ibatis安装配置

    总的来说,Ibatis 的安装配置主要包括引入 Ibatis JAR 包、配置 `SqlMapConfig.xml` 文件,以及可选地使用 Abator 生成代码。通过这些步骤,我们可以轻松地在 MyEclipse 中集成并使用 Ibatis 进行数据库操作。对于更...

Global site tag (gtag.js) - Google Analytics