最近H2數據庫越用越以爲方便,在不一樣辦公處無縫繼續demo的感受就是爽。html
直男君梳理了官方文檔和網友博客,把最靠譜的上面三種都試了一遍,最終結果是Maven插件方式最爲簡單有效。java
1)官方Java程序方式spring
分爲兩種,直接執行jar包方式:sql
java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite
和 編寫可執行Java類方式(官網截圖):數據庫
2)Maven插件方式mybatis
簡單有效,下面就會細說具體步驟。app
3)sts/eclipse插件方式dom
安裝插件嘛~講道理是最簡單的方式..可是直男君安裝好了後各類問題。eclipse
三種方式在官方網站(http://www.mybatis.org/generator/quickstart.html)上都有介紹,可做細究參考,好比完整的配置文件項。maven
1)修改數據庫鏈接信息
這裏說明一點,直男君數據源用的是H2,發現H2內存模式下,逆向生成會遇阻(鏈接限制問題),因此把H2內存模式改成文件模式。改動很簡單,將H2鏈接的url改成實際路徑就好,其餘不用變,demo應用啓動下(爲了生成初始化庫信息),這樣mybatis逆向工程就能夠鏈接到了(JDBC) 。PS:使用MySQL的話,不用管這步。
修改application.properties文件配置:
#配置 h2 數據源
#spring.datasource.url=jdbc:h2:mem:test
spring.datasource.url=jdbc:h2:~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=123456
spring.datasource.schema=classpath:h2sql/schema.sql
spring.datasource.data=classpath:h2sql/data.sql
spring.h2.console.enabled=true
#localhost:8080/demo/h2-console
spring.h2.console.path=/h2-console
說明:~/test 配置後,以win系統爲例,生成的H2數據庫文件路徑:C:\Users\Richard\test.mv.db,~ 表明用戶家目錄。
2).pom文件中添加插件
<!-- maven build.. >> mybatis-generator:generate -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
3)添加 generatorConfig.xml(src/main/resources)
貼上本次demo的完整配置模版(注意包路徑):
<?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">
<!-- mybatis-maven插件使用快捷參考: https://blog.csdn.net/MissWwg/article/details/79159590-->
<!-- 官方參考: http://www.mybatis.org/generator/configreference/xmlconfig.html-->
<!-- 配置完整說明:https://blog.csdn.net/pk490525/article/details/16819307 -->
<generatorConfiguration>
<properties resource="jdbc.properties" />
<!-- 驅動jar包 -->
<classPathEntry location="D:\maven-repo\com\h2database\h2\1.4.199\h2-1.4.199.jar" />
<!-- 一個數據庫一個 context -->
<context id="myh2db" targetRuntime="MyBatis3">
<!-- 生成註釋配置 -->
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- JDBC鏈接配置 -->
<jdbcConnection
driverClass="${h2.driver}"
connectionURL="${h2.url}"
userId="${h2.username}"
password="${h2.passwd}">
</jdbcConnection>
<!-- 類型轉換 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 實體bean 逆向生成 -->
<javaModelGenerator targetPackage="com.demo.bean.entity" targetProject="src/main/java">
<property name="trimStrings" value="false" />
<property name="enableSubPackages" value="false" />
</javaModelGenerator>
<!-- sqlmap.xml 逆向生成 -->
<sqlMapGenerator targetPackage="sqlmap" targetProject="src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 客戶端即 Mapper接口 逆向生成 type=[XMLMAPPER, MIXEDMAPPER, ANNOTATEDMAPPER]-->
<javaClientGenerator targetPackage="com.demo.mapper" targetProject="src/main/java"
type="MIXEDMAPPER">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 目標表配置 schema爲啥不能加 -->
<table tableName="tb_fake" domainObjectName="Fake"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
4)新建配置所需的包和項目結構
5)保存配置,檢查數據庫表和項目結構無誤後,執行插件。
右鍵.pom >> Run As.. >> Maven Build... >>在 Goals 中寫入 mybatis-generator:generate 保存運行。
成功運行日誌:
此時刷新項目,能夠看到該有的都有了。
檢查生成的文件是否合胃口,以爲不完美的話適當調整配置覆蓋生成便可。
OK,打完收工。歡迎踩點吐槽,點贊收藏轉發,3Q!