原文:https://www.jianshu.com/p/fec391058613
這是一個由 JavaFX,SpringBoot 開發的 mybatis-mapper-generator 小工具。可以讓你快速生成數據庫對應的實體類以及 Mybatis Mapper。目前本工具只支持 MySQL和與MySQL兼容的數據庫(例如,MariaDB,POLARDB等)。如果有需求可以在 issue 上提,謝謝!
該工具依賴mybatis-generator(mybatis 官方自動生成工具)。
功能:
- 可視化生成數據庫相應的實體類,不用再寫配置文件
- 能夠 merge 之前的 java bean 和 xml
- 比如你在使用了 mapper-generator-javafx 生成的 bean 上新增了一個方法或property,當你使用 merge 功能時新增的方法或 property 會保留。xml 同理。
這個 java bean **merge 功能官方並沒有實現,官方的xml merge 也不是很好。
- 記錄你每一次的變動
- 這裡講一下自身使用官方的 mybatis-generator 感受,當我有多個數據源時,剛開始我在數據源1工作,生成OrderInfo,OrderInfoMapper,OrderInfoMapper.xml三個文件(忽略了一些字段,去除了delete update sql),接著我又在數據源2工作,此時我已經把數據源1的配置刪除,後來我對數據源1的order_info表回覆一些之前忽略的字段,或者我要去除一個 count sql方法,這時我又要重新配置數據源1,並且要比對之前生成的文件,很是麻煩。也許你會說,使用多個配置文件來回切換就可以。當然這也是一種方法。不過我相信當你用了mybatis-friend,你應該會拋棄這種想法。
1. 使用步驟介紹
- 右上角菜單欄點擊文件 -> 添加數據源
- adddatasource.png
- 展開數據源,對需要的表進行導出(右鍵導出),也可以選擇數據源導出該數據源所有表
- 點擊數據源導出會導出數據源下所有表,數據源的刷新只是對錶重新加載,並不會對字段重新加載。對字段的重新加載請看第三點
- datasource-rightckick.png
- 點擊表導出(可多選)
- table-rightclick.png
- 對需要導出的表進行配置
- 表配置,對想要導出的 sql 打上勾
- table-detail.png
- 表字段配置,可以忽略導出字段,指定導出的屬性名(property),對屬性名的類型進行重寫(java type),對屬性配置類型處理器(type handler)
- table-column-detail.png
- 表字段刷新
- column-refresh.png
- 配置完成後點擊右上角導出按鈕,對導出位置進行配置
- 配置導出位置
- export.png
- 點擊應用
2. 運行環境
java8, classpath 必須要有 javafx 相關的 jar (一般如果你是安裝的 oracle 官網的 jdk,不會有問題)。
3. 數據目錄
數據目錄放在當前用戶的 /AppData/Local/MapperGenerator/data 下
4. 配置目錄
導出配置存放在 前用戶的 /AppData/Local/MapperGenerator/config 下
如果工具發生錯誤,可以試一下清空以上目錄。如果還不行,歡迎在 github 上題issue。
5. 日誌文件位置
日誌文件位置:
- windows-exe 版本: 安裝目錄下 app/mybatis-friend.log
- jar 包版本:jar的同級目錄mybatis-friend.log
6. 如何自定義開發自己的功能?
如果你要在此基礎上開發自己的功能,請先 pull mybatis-generator。因為 mapper-generator-javafx項目依賴 mybatis-generator。
mybatis-generator 是 fork 官方的一個用於生成 mapper 的插件。本人對該插件做了一定的自定義。所以如果你要自定義 mapper-generator-javafx 必須先 pull mybatis-generator 並打包,否則源碼會報錯。
該項目大概4000多行代碼,很簡單的代碼。但你得有JavaFX的基礎,這裡給 [B 站的可愛阿婆主《JavaFX沒人看系列》](https://space.bilibili.com/5096022/video?tid=36&page=8&keyword=&order=pubdate 做一波免費廣告(哈哈哈)。
結束
附上 github 地址和下載地址,下載包含兩個版本:
- mybatis-friend-windows-exe.zip:可以直接運行在 windows
- mybatis-friend-executable.jar:可執行 jar
本項目 github 源碼地址:https://github.com/alansun2/mapper-generator-javafx
閱讀更多 Java架構師CAT 的文章