我无意之中碰上以下问题,郁闷了一晚上,终于找到答案,希望对大家有些帮助!
原来是:'/sqlMapConfig/sqlMap/' 中的某个.xml 文件中的insert元素中信息写错了!
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sqlMapClient' defined in file [H:\qingfeng\src\test\com\qingfeng\dao\dataAccessContext-ibatis.xml]:
Invocation of init method failed; nested exception is 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.util.NoSuchElementException
Caused by: 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.util.NoSuchElementException
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:109)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:90)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:326)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:280)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1175)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1145)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:276)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:360)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:93)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:77)
at test.com.qingfeng.dao.BaseTest.setUp(BaseTest.java:18)
at test.com.qingfeng.dao.ibats.SqlMapAccountDaoTests.setUp(SqlMapAccountDaoTests.java:22)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
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.util.NoSuchElementException
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:106)
... 29 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.util.NoSuchElementException
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:60)
... 30 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: java.util.NoSuchElementException
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:55)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:394)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
... 34 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: java.util.NoSuchElementException
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:60)
... 37 more
Caused by: java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(Unknown Source)
at com.ibatis.sqlmap.engine.mapping.parameter.InlineParameterMapParser.parseInlineParameterMap(InlineParameterMapParser.java:55)
at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseDynamicTags(SqlStatementParser.java:240)
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)
... 41 more
分享到:
相关推荐
7. **TypeHandlerRegistry**: 这是Ibatis的核心组件之一,负责管理所有的类型处理器(TypeHandler)。TypeHandler是Ibatis中处理Java类型和数据库类型之间转换的关键,`TypeHandlerRegistry`可以根据Java类型或JDBC...
这些问题往往由于iBatis错误信息的隐晦性而难以快速定位与解决。本文将根据所提供的标题、描述及部分内容,详细阐述在使用iBatis时可能遇到的一些常见错误及其调试技巧。 ### 一、SQL映射文件(sqlMap)中的配置...
在大型项目中,数据库表数量众多,手动编写与之对应的Java实体类、Mapper接口和Mapper XML文件是一项繁琐的工作。代码自动生成工具能根据数据库表结构自动生成这些代码,极大地减少了开发时间,同时也减少了手动...
iBATIS是早期流行的Java持久层框架之一,它通过SQL映射文件将SQL语句与Java对象关联起来,实现数据的持久化操作。iBATIS的核心功能在于其强大的SQL映射能力和动态SQL生成机制,这使得开发人员能够灵活地处理复杂的...
每个映射文件中定义了一组SQL语句及其映射规则,是ibatis的核心组成部分之一。 #### 三、总结 通过对`sqlMapConfig.xml`文件的深入解析,我们不仅了解了ibatis配置文件的基本结构,还掌握了如何通过配置文件来调整...
8. OR映射 - 对象关系映射(ORM)是iBATIS的核心特性之一,它将Java对象与数据库中的表进行映射,简化数据库操作。 9. iBATIS高级特性 - 包括数据关联(一对多、一对一)、延迟加载、动态映射、事务管理和缓存策略...
在IT行业中,数据库操作是应用程序的核心部分,而处理动态SQL是一项常见的挑战。iBATIS,作为一款优秀的持久层框架,提供...iBATIS的动态注入功能是其在数据库操作中的强大优势,也是许多开发者选择它的主要原因之一。
标题 "mule进阶之ibatis component" 指向的是一个关于Mule ESB集成iBatis组件的高级主题。Mule ESB是一个企业级的集成平台,它允许开发者轻松地连接各种系统和应用程序。iBatis则是一个SQL映射框架,它可以将Java...
`sqlMapConfig.xml`是ibatis框架的核心配置文件之一,它不仅定义了与数据库交互的基本配置,还涉及到了性能调优的关键设置。通过对这些配置项的理解和合理设置,可以显著提高应用程序的性能和稳定性。开发者应根据...
文档的第三部分,“Working with Data Maps”,是核心内容之一,详细解释了如何操作数据映射。首先介绍了数据映射的定义文件,以及映射语句的不同类型。这部分还涉及了存储过程的处理、SQL语句的编写、映射类型元素...
Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、错误等。而iBatis则是一个优秀的持久层框架,它简化了SQL操作,使得数据库访问更为灵活。...
1. **依赖注入(DI)**:Spring的核心特性之一,通过容器管理对象及其依赖关系,使得代码松耦合。 2. **面向切面编程(AOP)**:Spring支持AOP,允许定义横切关注点,如日志、事务管理等,提高代码复用性。 3. **...
ORM(Object Relational Mapping)是iBatis的核心概念之一,它指的是将关系型数据库中的表结构映射到Java对象上,使得开发者可以通过操作Java对象来间接地操作数据库。通过ORM,开发者可以避免直接编写复杂的SQL语句...
动态SQL是iBATIS的亮点之一,它允许开发者根据实际情况动态构建SQL语句,极大提升了SQL语句的灵活性和应用的适应性。 事务管理是数据库操作中的重要概念,iBATIS同样提供了事务管理的机制。它允许开发者通过配置来...
标题中的“搭建IBatis一:mysql环境搭建之被虐的酸爽篇”表明这是一个关于如何在计算机环境中配置和使用IBatis框架与MySQL数据库的教程,其中可能涉及了作者在搭建过程中遇到的问题和解决方法。从描述中的链接可以...
Java JDBC作为低级别的API,在实际应用中存在诸多不便之处,因此业界尝试通过多种方式对其进行增强,比如EJB、JDO、Hibernate、Toplink(来自Oracle)、iBatis、SQL Executor以及Spring JDBC支持等技术。 #### 二、...
**映射语句**是iBATIS的核心功能之一。它允许开发者以声明式的方式定义SQL语句以及如何将查询结果映射到Java对象上。这种方式可以极大地提高代码的可读性和可维护性。 - **基本查询**:定义简单的SELECT语句及其...
Ibatis.net 的强大之处在于动态SQL,可以使用条件标签(`<if>`、`<choose>`、`<when>`、`<otherwise>`)和`<where>`、`<set>`等元素构造条件语句。 ## 9. 结果映射 结果映射用于将查询结果自动映射到Java对象。可以...
Ibatis 由夏昕创建,旨在解决传统 JDBC 编程的繁琐之处,通过 XML 或注解配置,将 SQL 语句与 Java 代码解耦,提高了开发效率和可维护性。Ibatis 支持多种数据库,如 MySQL、Oracle、SQL Server 等。 ### **2. 准备...
Codd提出规范化数据存储的概念以来,SQL已经成为企业级应用开发的基础之一,并且随着技术的发展而不断发展完善。 iBATIS认识到,在许多情况下,即使应用程序经历了重大的重构甚至重新编写,其背后的数据库结构和...