從命令列及java程式運行MyBatis Generator 1.3.x自動產生MyBatis 3.x代碼

來源:互聯網
上載者:User
近期因為項目需要,調研了myBatis 3.x的使用,當然,順便也就研究了一下使用Generator來通過逆向工程產生pojo,mapper等檔案。使用這個工具之前,要先下載相關的jar包,我使用的是最新的mybatis-generator-core-1.3.2.jar。
下面將generatorConfig.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="context1" >    <jdbcConnection driverClass="com.mysql.jdbc.Driver"        connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"        userId="root"        password="" />    <javaModelGenerator targetPackage="com.lanx.test.domain" targetProject="/home/user/workspace/mybatis-web/src/main/java" />    <sqlMapGenerator targetPackage="com.lanx.test.mapper" targetProject="/home/user/workspace/mybatis-web/src/main/resources/" />    <javaClientGenerator targetPackage="com.lanx.test.mapper" type="XMLMAPPER" targetProject="/home/user/workspace/mybatis-web/src/main/java" />     <table domainObjectName="Person" tableName="PERSON" enableCountByExample="false"                enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false" >        <property name="modelOnly" value="false"/>    </table>     </context></generatorConfiguration>

我將這個xml檔案放置在了項目根目錄下,接下來參考的是一個類似官方的文檔:
http://generator.sturgeon.mopaas.com/running/runningFromCmdLine.html
從命令列運行 MyBatis Generator
按照文檔中所說,執行:
java -jar /home/user/backup/mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml出現下列錯誤:Exception in thread "main" java.lang.RuntimeException: Exception getting JDBC Driver        at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(ConnectionFactory.java:85)        at org.mybatis.generator.internal.db.ConnectionFactory.getConnection(ConnectionFactory.java:54)        at org.mybatis.generator.config.Context.getConnection(Context.java:526)        at org.mybatis.generator.config.Context.introspectTables(Context.java:436)        at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:222)        at org.mybatis.generator.api.ShellRunner.main(ShellRunner.java:117)Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver        at java.net.URLClassLoader$1.run(URLClassLoader.java:372)        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)        at java.security.AccessController.doPrivileged(Native Method)        at java.net.URLClassLoader.findClass(URLClassLoader.java:360)        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)        at java.lang.Class.forName0(Native Method)        at java.lang.Class.forName(Class.java:344)        at org.mybatis.generator.internal.ObjectFactory.internalClassForName(ObjectFactory.java:150)        at org.mybatis.generator.internal.ObjectFactory.externalClassForName(ObjectFactory.java:121)        at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(ConnectionFactory.java:82)        ... 5 more

其實在運行前就已經估計到了,顯然並沒有引入mysql的驅動程式jar包,修改後的語句如下:
java -cp /home/user/backup/mybatis-generator-core-1.3.2.jar:/home/user/backup/mysql-connector-java-5.1.36.jar org.mybatis.generator.api.ShellRunner -configfile generatorConfig.xml

運行後,順利產生了pojo等檔案,要注意generatorConfig.xml檔案中javaModelGenerator等幾個節點targetProject屬性的配置,在這裡我都寫了絕對路徑。實際上,如果此配置出錯,書寫了不存在的檔案夾,會出現警告提示。

而使用java程式運行MyBatis Generator 1.3.x,直接copy此網站上給出的代碼即可。
參考url如下:http://generator.sturgeon.mopaas.com/running/runningWithJava.html

最後,我的開發環境:ubuntu kylin + eclipse-Luna-SR2 + jdk8

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.