http://bbs.csdn.net/topics/350207287/【这篇博客很厉害,不过我的代码异常,不是因为中文注释引起的】
引起原因,我的猜测是:在sqlMapConfig.xml中,添加了如下的XML文件引用,却只有一个里面有内容
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <properties resource="SqlMap.properties"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="${driver}"/> <property name="JDBC.ConnectionURL" value="${url}"/> <property name="JDBC.Username" value="${username}"/> <property name="JDBC.Password" value="${password}"/> </dataSource> </transactionManager> <!-- 只有第一个UserInfo.xml有内容,其他两个XML都是空白文档 --> <sqlMap resource="com/alex/mealorder/vo/UserInfo.xml"/> <sqlMap resource="com/alex/mealorder/vo/MealInfo.xml"/> <sqlMap resource="com/alex/mealorder/vo/OrderHistory.xml"/> </sqlMapConfig>
修改完毕就可以了。如下是报错的系统日志。
Exception in thread "main" 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: org.xml.sax.SAXParseException: Premature end of file. at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89) at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63) at com.alex.mealorder.dao.CommonsDAO.getClient(CommonsDAO.java:27) at com.alex.mealorder.dao.UserInfoDAO.getAllUsers(UserInfoDAO.java:19) at com.alex.mealorder.dao.test.TestUserInfoDAO.main(TestUserInfoDAO.java:11) 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: org.xml.sax.SAXParseException: Premature end of file. at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53) at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86) ... 4 more Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: Premature end of file. 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) ... 5 more Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: Premature end of file. 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) ... 9 more Caused by: org.xml.sax.SAXParseException: Premature end of file. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157) at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50) ... 12 more
相关推荐
本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...
通过对ibatis配置文件的解析,我们可以看到ibatis的强大之处在于它能够灵活地配置各种参数,并通过简洁的XML配置文件实现对数据库的高效操作。通过上述三个配置文件的设置,ibatis能够自动完成对数据库的操作,包括...
当运行测试用例(如JUnit)时,报错信息显示`org.apache.ibatis.exceptions.PersistenceException`,其根本原因可能是一个`ReflectionException`,具体为尝试实例化类`com.fendo.entity.Person`时遇到了无效的类型或...
#### 二、ibatis配置文件解析 ibatis的核心配置文件是`SqlMapConfig.xml`,它是ibatis运行的基础,用于设置ibatis的运行环境等信息,包括数据源和事务管理器等。配置文件主要包含以下几部分: 1. **properties**:...
1. **SQL Map配置**:iBATIS的核心是SQL Map配置文件,它定义了SQL语句及其参数映射。开发者可以将每个SQL查询映射到一个Java方法,使得数据库操作更加灵活且易于维护。 2. **动态SQL**:iBATIS支持在SQL Map中编写...
标题 "ibatis配置文件自动加载组件" 涉及的核心技术是MyBatis的自动配置加载功能,这在开发过程中极大地提高了效率,使得开发者无需每次修改XML映射文件后手动重启服务。MyBatis是一个优秀的Java持久层框架,它简化...
- "IBatis.DataAccess.1.9.2.bin.zip":这个文件可能是IBatis的另一个组件DataAccess的1.9.2版本,可能包含与DataMapper协同工作的类库和接口。 - "Ibatis.DataMapper.1.6.2.bin":这是一个单独的1.6.2版本的...
### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...
标题:“ibatis配置文件” 描述:“详细的ibatis配置文件,初来乍到,先打个招呼...” 在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是...
在传统的XML配置文件中,Ibatis允许我们定义SQL语句、参数映射以及结果集映射。然而,随着Java注解的普及,Ibatis也支持使用注解来进行配置,使得代码更加简洁易读。 1. **@Select**: 这个注解用于标记一个方法,该...
此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。
ibatis-2.3.3.720.jar
ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar
下面我们将详细探讨Ibatis配置文件模板中的关键组成部分,包括`SqlMap.properties`、`SqlMapConfig.xml`以及与JavaBean的映射文件。 1. **SqlMap.properties** 这是Ibatis的属性配置文件,主要用于存放数据库连接...
在实际使用Ibatis时,首先需要在项目中引入ibatis-2.3.0.677.jar包,然后配置SqlMapConfig.xml文件,这是整个Ibatis的全局配置文件,用于设置数据源、事务管理器以及其他核心组件。接下来,开发者可以创建具体的...
2. 配置Ibatis的主配置文件(mybatis-config.xml),设置数据源、事务管理器等核心参数。 3. 创建SQL映射文件,编写SQL语句,并定义结果映射。 4. 在Java代码中创建SqlSessionFactory,然后通过SqlSessionFactory...
在2.3.4.726这个版本中,我们可以期待看到一些关键组件,如SqlMapConfig.xml配置文件的解析逻辑,SqlMapClient的构建和执行SQL的方法,以及Statement类型的定义(例如,SelectStatement、InsertStatement等)。...
ibatis可以使用简单的XML或注解进行配置和原始映射,在代码内映射语句执行SQL。 ### 错误1:参数类型与属性不匹配 在ibatis中,`parameterClass`属性用于指定传递给SQL语句的参数类型。例如,在给定的部分内容中:...