0

3 つの SQLMap が定義されている sqlMapConfig.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>
    <!-- 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 が見つかりませんでした

category_SqlMap.xml はその場所にあります。マップ xml の場所を変更してみましたが、解決しませんでした。sqlMapConfig.xml は、DTD に対して検証します。category_SqlMap.xml は、適切な DTD に対しても検証します。リソースが見つからない理由を突き止めようとしています。sqlMap ファイルは iBator によって生成されます。

4

5 に答える 5

1

これは、sqlmap ファイルの場所がターゲットにコピーされていないために発生していました。コピーの目標を追加し、それを修正しました。

于 2012-04-23T20:44:10.717 に答える
0

ソース パッケージ ディレクトリの下に ...src\java\abc.xml を配置します。

于 2014-08-20T11:48:47.847 に答える
0

私も同じ問題を抱えていました。問題は設定ファイルの場所にあるようです。したがって、プロジェクトのリソース構造に関連しています。

マッパークラスと同じパッケージに構成ファイルを移動したところ、機能しました。この場合、すべてのリソースをこのパッケージに移動して、リソース属性を次のように更新してみてください。

<sqlMap resource="categories_SqlMap.xml" />
<sqlMap resource="pro_SqlMap.xml" />
<sqlMap resource="pro_category_SqlMap.xml" />
于 2014-07-17T19:56:16.737 に答える
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のものに置き換えることができます。

于 2015-11-25T12:14:07.427 に答える