我有一个sqlMapConfig.xml,其中定义了三个SQLMaps。
<?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>
<!-- Statement namespaces are required for Ibator -->
<settings enhancementEnabled="true" useStatementNamespaces="true"/>
<!-- Setup the transaction manager and data source that are
appropriate for your environment
-->
<transactionManager type="JDBC">
<dataSource type="SIMPLE" >
<property name="JDBC.Driver"
value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost:3306/sug"/>
<property name="JDBC.Username"
value="root"/>
<property name="JDBC.Password"
value="admin"/>
</dataSource>
</transactionManager>
<!-- SQL Map XML files should be listed here -->
<sqlMap resource="com/tatakelabs/dbmaps/categories_SqlMap.xml" />
<sqlMap resource="com/tatakelabs/dbmaps/pro_SqlMap.xml" />
<sqlMap resource="com/tatakelabs/dbmaps/pro_category_SqlMap.xml" />
</sqlMapConfig>
我收到运行时错误 - 原因:java.io.IOException:找不到资源com / tatakelabs / dbmaps / categories_SqlMap.xml
categories_SqlMap.xml存在于该位置。我尝试更改地图xml的位置,但这没有帮助。 sqlMapConfig.xml验证DTD。 categories_SqlMap.xml还验证了正确的DTD。我在我的智慧结束时试图弄清楚为什么它找不到资源。 sqlMap文件由iBator生成。
答案 0 :(得分:1)
发生这种情况是因为sqlmap文件位置未被复制到目标。添加了复制目标并修复了它。
答案 1 :(得分:0)
我遇到了同样的问题。看来问题在于配置文件的位置。因此,它与项目资源结构有关。
我将配置文件移动到与mapper类相同的包中,并且它有效。在这种情况下,请尝试将所有资源移动到此程序包并将资源属性更新为:
<sqlMap resource="categories_SqlMap.xml" />
<sqlMap resource="pro_SqlMap.xml" />
<sqlMap resource="pro_category_SqlMap.xml" />
答案 2 :(得分:0)
将它放在源包目录下的... src \ java \ abc.xml中。
答案 3 :(得分:0)
解决了它。
我将xml文件移动到Pojo所在的位置,并提供如下路径:
<sqlMap resource="com/heena/ibatis/model/jsr/jsr.xml" />
它有效。
答案 4 :(得分:0)
如果您使用的是Spring,则可以使用指定属性“mappingLocations”的SqlMapClientFactoryBean。在此属性中,您可以指定通用路径,例如“com / tatakelabs / dbmaps / * _ SqlMap.xml”或使用诸如$ {mapfiles}之类的变量,这些路径将由Spring解析为文件名数组。这允许您省略sqlMapConfig中的sqlMap元素。这项技术将在iBatis 2.3.4上运行。但是,sql-map-config-2.dtd也包含在iBatis.jar中,因此您可能会遇到一些解析错误,如/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd有一个错误。在这种情况下,您可能希望在jar中使用URL中的替换它: http://ibatis.apache.org/dtd/sql-map-config-2.dtd