mybatis配置文件各元素顺序要求

在搭建mybatis环境的时候,报了个如下Error信息:

Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException: The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".

mybatis版本3.2.7

反复查看mybatis的配置文件,没有发现问题。

遂百度下子。

有网友说,Mybatis是适用DTD作为XML的校验文档,而XML规范中DTD顺序是有严格要求的。

于是打开Mybatis的DTD文件,按照DTD中定义的顺序重新调整mybatis配置文件的顺序,执行,OK。

Mybatis的DTD文件:http://mybatis.org/dtd/mybatis-3-config.dtd

 元素顺序:

properties

settings

typeAliases

typeHandlers

objectFactory

objectWrapperFactory

plugins

environments?

databaseIdProvider

mappers

我的最终Mybatis配置文件:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6 
 7     <properties resource="jdbc.properties">
 8     </properties>
 9     
10     <settings>
11         <setting name="cacheEnabled" value="false" /><!-- default:true -->
12         <!-- <setting name="lazyLoadingEnabled" value="false"/> --><!-- default:false -->
13         <setting name="multipleResultSetsEnabled" value="false" /><!-- 
14             default:true -->
15         <!-- <setting name="mapUnderscoreToCamelCase" value="false"/> --><!-- default:false -->
16         <!-- <setting name="callSettersOnNulls" value="false"/> --><!-- default:false -->
17         <setting name="logPrefix" value="newpp" /><!-- default: -->
18         <setting name="logImpl" value="LOG4J" /><!-- default: ;options:SLF4J,LOG4J,LOG4J2,COMMONS_LOGGING,JDK_LOGGING,STDOUT_LOGGING,NO_LOGGING -->
19     </settings>
20     
21     <typeAliases>
22         <typeAlias alias="UserInfoEntity" type="com.newpp.biz.demo.entity.UserInfoEntity" />
23     </typeAliases>
24     
25     <plugins>
26         <plugin interceptor="com.newpp.core.base.fw.interceptor.DataUpdateInterceptor"></plugin>
27     </plugins>
28     
29     <environments default="development">
30         <environment id="development">
31             <transactionManager type="JDBC" />
32             <dataSource type="POOLED">
33                 <property name="driver" value="${driverClassName}" />
34                 <property name="url" value="${url}" />
35                 <property name="username" value="${username}" />
36                 <property name="password" value="${password}" />
37             </dataSource>
38         </environment>
39     </environments>
40 
41     <mappers>
42         <mapper resource="com/newpp/biz/demo/sql/userMapper.xml" />
43     </mappers>
44 </configuration>
View Code
posted @ 2014-07-22 11:18  havery  阅读(2593)  评论(0)    收藏  举报