使用ibatis框架配置文件的格式

来源:互联网 发布:php tp框架 编辑:程序博客网 时间:2024/05/07 14:50

报错信息:com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".

问了前辈,说是我的配置文件格式不正确,然后找了一篇正确的进行修改:

修改后的配置文件

<?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"/>
<settings cacheModelsEnabled ="true" enhancementEnabled="true" lazyLoadingEnabled ="true"  errorTracingEnabled ="true"   maxRequests ="32"  maxSessions ="10" maxTransactions ="5"  useStatementNamespaces ="false"/>
<resultObjectFactory type="org.apache.ibatis.reflection.factory.DefaultObjectFactory"></resultObjectFactory>
<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>
<objectFactory type="liming.student.manager.configuration.LimingObjectFactory"> 
    <property name="someProperty" value="100"/> 
</objectFactory> 
<sqlMap resource = "Student.xml"/>
</sqlMapConfig>
运行之后提示错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
 at com.xhg.test.TestIbatis.main(TestIbatis.java:11)
Caused by: java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: Element type "objectFactory" must be declared.
 at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89)
 at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
 at com.xhg.daoimpl.StudentDaoImpl.<clinit>(StudentDaoImpl.java:22)
 ... 1 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: Element type "objectFactory" must be declared.
 at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
 at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86)
 ... 3 more
Caused by: org.xml.sax.SAXParseException: Element type "objectFactory" must be declared.
 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
 at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
 at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
 at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1929)
 at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)
 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
 at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
 at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
 at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
 at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
 at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157)
 at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
 ... 4 more
还是出错了,不知道该怎么修改了、、、哭哭

 

0 0
原创粉丝点击