mybatis-friend 可視化mapper-generator

原文: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. 使用步驟介紹

  1. 右上角菜單欄點擊文件 -> 添加數據源

mybatis-friend 可視化mapper-generator

  1. adddatasource.png
  2. 展開數據源,對需要的表進行導出(右鍵導出),也可以選擇數據源導出該數據源所有表
  3. 點擊數據源導出會導出數據源下所有表,數據源的刷新只是對錶重新加載,並不會對字段重新加載。對字段的重新加載請看第三點


mybatis-friend 可視化mapper-generator

  1. datasource-rightckick.png
  2. 點擊表導出(可多選)


mybatis-friend 可視化mapper-generator

  1. table-rightclick.png
  2. 對需要導出的表進行配置
  3. 表配置,對想要導出的 sql 打上勾


mybatis-friend 可視化mapper-generator

  1. table-detail.png
  2. 表字段配置,可以忽略導出字段,指定導出的屬性名(property),對屬性名的類型進行重寫(java type),對屬性配置類型處理器(type handler)


mybatis-friend 可視化mapper-generator

  1. table-column-detail.png
  2. 表字段刷新


mybatis-friend 可視化mapper-generator

  1. column-refresh.png
  2. 配置完成後點擊右上角導出按鈕,對導出位置進行配置
  3. 配置導出位置


mybatis-friend 可視化mapper-generator

  1. export.png
  2. 點擊應用

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

"


分享到:


相關文章: