2014-10-19 2 views
0

로컬 컴퓨터에 mysql 데이터베이스가 있고 mybatis를 사용하여이 새 데이터베이스의 24 개 테이블에 대한 POJO 클래스를 생성하려고합니다. 나는 MyBatis로 웹 사이트의 예를 사용하고 있습니다 : http://mybatis.github.io/generator/running/runningWithJava.htmlMyBatisGenerator.generate (null)은 오류없이 아무것도 수행하지 않습니다.

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> 

을 지금, 나는 고백, 내가 상관없이 내가 테이블 태그에 제공하는 것을 테이블 이름이나 스키마 이름은 여전히 ​​아무것도하지 않고 어떤을 제공 통지를했다 오류 .... 테이블의 이름 뒤에 오류가있을 수 있습니까?

답변

0

"mybatis-generator-core-1.3.2-sources.jar"를 얻을 수있었습니다. 그런 다음 mybatis 생성기 코드로 디버깅 한 후 mybatis 페이지에 예제가 어떻게 표시되는지 정확히 알 수 있음에도 불구하고 "\ Infinity \ src"의 "targetProject"값이 읽히지 않았습니다 : http://mybatis.github.io/generator/configreference/xmlconfig.html

그래서, 난 내 C에 전체 경로가되도록 targetProject 값을 변경하는 경우 : 드라이브, 그것은 일 :

targetProject="C:\Users\Ryan\InfinityWorkspace\Infinity\src\">