0

ローカル マシンに mysql データベースがあり、mybatis を使用して、この新しいデータベースの 24 個のテーブルの POJO クラスを生成しようとしています。MyBatis Web サイトの例を使用しています: http://mybatis.github.io/generator/running/runningWithJava.html

    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    File configFile = new File("c:\\Users\\Ryan\\InfinityWorkspace\\Infinity\\src\\com\\ajtech\\infinity\\mybatis\\mybatisGenerator.xml");
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config = cp.parseConfiguration(configFile);
    DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);

    myBatisGenerator.generate(null);

このコードを実行すると、コンソールに例外は発生しませんが、このコードを実行しても何も生成/生成されません。

構成ファイルが自分の PC で見つかり、それが正しく解析されていること、および mybatisGenerator.xml ファイル内の jdbc 接続が、指定したユーザー名/パスワードを使用して mysql データベースに正常に接続されていることを確認できました。

XML / POJO クラスが生成されない理由はありますか?

私の mybatisGenerator.xml ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="infinityDBTables">
      <jdbcConnection connectionURL="jdbc:mysql://localhost:3307/infinitydb" 
        driverClass="com.mysql.jdbc.Driver"
        userId="Ryan"
        password="infinity">
      </jdbcConnection>

      <javaModelGenerator targetPackage="com.ajtech.infinity.database.dao.model" targetProject="\Infinity\src">
             <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <sqlMapGenerator targetPackage="com.ajtech.infinity.database.dao" targetProject="\Infinity\src"/>

    <javaClientGenerator targetPackage="com.ajtech.infinity.database.dao.client" targetProject="\Infinity\src" type="XMLMAPPER"/>

    <table tableName="AccessLevel" schema="infinitydb"/>
    <table tableName="Brand" schema="infinitydb"/>
  </context>
</generatorConfiguration>

正直に言うと、テーブル タグで指定したテーブル名またはスキーマ名に関係なく、何も実行せず、エラーも発生しないことに気付きました..舞台裏でテーブル名にエラーが発生している可能性はありますか?

4

1 に答える 1

1

「mybatis-generator-core-1.3.2-sources.jar」を取得できました。次に、mybatis ジェネレーター コードをデバッグした後、"\Infinity\src" の "targetProject" 値が読み取られていないことがわかりましたが、これは mybatis ページに示されている例とまったく同じように見えます。 : http://mybatis.github.io/generator/configreference/xmlconfig.html

そのため、targetProject の値を C: ドライブのフル パスに変更すると、次のように機能しました。

targetProject="C:\Users\Ryan\InfinityWorkspace\Infinity\src\">
于 2014-10-20T21:34:35.987 に答える