2016-05-04 218 views
0

私は "< JDBCConnectionの>" 後 "<commentGenerator>" を入れた場合は、MBGは文脈コンテンツが一致しなければならないこと、エラーを提案した:blablablaを... しかし、私は "< JDBCConnectionの>" 前 "<commentGenerator>" を入れると、すべてがありますOK。ここでは、公式サイトに不平を言うものがあります。これらの商品の注文が必要な場合は、どうして私たちに言わないのですか?何が大事なのです!あなたは新入生を冗談にしています。たぶん私は知らないところですが、これはMBGの設定ファイルをうまく構築するための重要なポイントです。このノートをチュートリアルの上に置いたり、目を引くのかな?私の無礼を残して申し訳ありません。それは本当に私をほとんど犯さなかった! HEHE。Mybatis Generatorのバグ:設定項目を注文する必要がありますか?

<generatorConfiguration > 
    <classPathEntry location="D:\mariadb-java-client-1.1.7.jar" /> 
    <context id="db" > 
    <commentGenerator> 
     <property name="suppressAllComments" value="true" /> 
     <property name="suppressDate" value="true" /> 
    </commentGenerator> 
    <jdbcConnection driverClass="org.mariadb.jdbc.Driver" 
        connectionURL="jdbc:mariadb://localhost:3306/dbname" 
        userId="root" 
        password="password" 
    /> 
    <javaTypeResolver > 
     <property name="forceBigDecimals" value="false" /> 
    </javaTypeResolver> 
    <!-- Model Class --> 
    <javaModelGenerator targetPackage="org.infrastructure.model" targetProject="infrastructure\src\main\java"> 
     <property name="enableSubPackages" value="false" /> 
     <property name="trimStrings" value="true" /> 
    </javaModelGenerator> 

    <!-- XML Files --> 
    <sqlMapGenerator targetPackage="sqlMap" targetProject="infrastructure\src\main\config"> 
     <property name="enableSubPackages" value="false" /> 
    </sqlMapGenerator> 

    <!-- DAO --> 
    <javaClientGenerator type="XMLMAPPER" targetPackage="org.infrastructure.dao" targetProject="infrastructure\src\main\java"> 
     <property name="enableSubPackages" value="false" /> 
    </javaClientGenerator> 

    <!-- Tables --> 
    <table tableName="user" domainObjectName="User" ></table> 
    </context> 
</generatorConfiguration> 
+0

申し訳ありませんが、私はあなたをキャッチしていません。発電機の例をどこで入手できますか教えてください。または、より多くの構成を表示してください。 –

+0

お返事ありがとうございます。 –

+0

すでに更新済みです。 –

答えて

1

まず第一に、あなたのxml設定ファイルに、それは常に<!DOCTYPE .../>ようにする必要があり、有効なルート要素が含まれていません。 mybatisジェネレータ設定ファイルの正しいルート要素を追加する方法については、MyBatis GeneratorXML Configuration File Referenceの例を参照してください。あなたは正確に次のようなルート要素を指定した場合

<!DOCTYPE generatorConfiguration PUBLIC 
    "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" 
> 

このルート要素はhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtdにある典型的なDTD宣言が含まれています。これはの定義です。これらの商品の注文にはが必要です。そして、私たちはそれがどのように見えるか見ていきます。

このドキュメントタイプ定義の47行目からは、contextという名前のエレメントが定義されています。

明らかつまり、 context内の要素の順序を定義し
<!-- 
    The context element is used to describe a context for generating files, and the source tables. 
--> 
<!ELEMENT context (property*, plugin*, commentGenerator?, jdbcConnection, javaTypeResolver?,javaModelGenerator, sqlMapGenerator?, javaClientGenerator?, table+)> 

    :すべての子供たちが following rulesとして発生する必要があり、この要素で

    property*, plugin*, commentGenerator?, jdbcConnection, 
    javaTypeResolver?,javaModelGenerator, sqlMapGenerator?, 
    javaClientGenerator?, table+ 
    

    内容は以下の通りです

  1. + - 項目の1つ以上の出現が必要であることを指定する - 各出現の有効な内容は異なる可能性がある。
  2. *任意の数(0回以上)の出現が許可されることを指定する - 項目はオプションであり、各出現の有効な内容は異なる場合があります。
  3. ?複数のオカレンスがあってはならないことを指定します。項目はオプションです。
  4. 限定子がない場合、指定された項目は、要素の内容の指定された位置に正確に1回現れる必要があります。

commentGeneratorjdbcConnectionの順番を変更できなかった理由は明らかです。

おそらく、要素を順不同にする方法を知りたければ、質問How to define DTD without strict element orderが役に立ちます。

お願いします。

+0

はい、明らかです。とにかくあなたの応答を感謝します。私の不平は、MGBがこの重要なことをチュートリアルの目を引く位置に置くべきだということです。 –

関連する問題