mybatis-plus-generator-ui 視覺化程式碼生成器!

2023-06-12 06:00:32

它提供互動式的Web UI用於生成相容mybatis-plus框架的相關功能程式碼,包括Entity,Mapper,Mapper.xml,Service,Controller等。

可以自定義模板以及各類輸出引數,也可通過SQL查詢語句直接生成程式碼。

git地址https://github.com/davidfantasy/mybatis-plus-generator-ui

一、使用範例

1、引入依賴

  <dependency>
       <groupId>com.github.davidfantasy</groupId>
       <artifactId>mybatis-plus-generator-ui</artifactId>
       <version>2.0.1</version>
  </dependency>

   <!-- mysql -->
  <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>${mysql8.version}</version>
  </dependency>

   <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
   </dependency>

2、新建程式入口,以main函數的方式執行

public class GeberatorUIServer {

    public static void main(String[] args) {
        GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://118.31.224.65:3306/kp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Hongkong")
                .userName("root")
                .password("root")
                .driverClassName("com.mysql.cj.jdbc.Driver")
                //資料庫schema,MSSQL,PGSQL,ORACLE,DB2型別的資料庫需要指定
                //.schemaName("myBusiness")
                //如果需要修改entity及其屬性的命名規則,以及自定義各類生成檔案的命名規則,可自定義一個NameConverter範例,覆蓋相應的名稱轉換方法,詳細可檢視該介面的說明:
                .nameConverter(new NameConverter() {
                    /**
                     * 自定義Service類檔案的名稱規則
                     */
                    @Override
                    public String serviceNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Service";
                    }

                    /**
                     * 自定義Controller類檔案的名稱規則
                     */
                    @Override
                    public String controllerNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Controller";
                    }
                })
                //所有生成的java檔案的父包名,後續也可單獨在介面上設定
                .basePackage("com.jincou.mybatisplus")
                .port(8068)
                .build();
        MybatisPlusToolsApplication.run(config);
    }
}

3、執行main方法

存取

localhost:8068

它可以把資料庫所有的表都查詢出來,我們可以現選擇指定的表進行生成程式碼。

同是可以選擇生成哪些檔案,對Controller層,也可以選擇生成哪些介面。

4、最終效果

我們可以看到,生成的檔案及目錄

再來看下Controller自動生成的介面

注意: 因為不同的專案的介面的返回格式是不一樣的,這裡我們可以修改Controller模版,來生成當前我們專案所有返回介面格式。


二、常見問題

1、下載原始碼中怎麼直接執行?

不建議直接下載原始碼執行 ,該專案是設計為直接嵌入到對應的業務專案中使用,可以自動識別專案路徑等環境變數。

2、支援哪些型別的資料庫?

支援幾乎所有主流的資料庫,具體可參考mybatis-plus-generator框架的檔案。需要自行引入資料庫的driver包,並在 GeneratorConfig中指定driverClassName。

3、儲存的設定是儲存到什麼地方的?

所有的使用者儲存的設定是按照basePackage分組儲存到user.home目錄的.mybatis-plus-generator-ui中的,不同專案的設定不會互相影響。

4、啟動報錯問題排查

大部分的啟動問題都是由於依賴衝突導致的,因為mybatis-plus-generator-ui也依賴於springboot和mybatis-plus,請先檢查依賴包版本是否相差過大;

1.X的版本僅支援最高mp的3.4.X版本,在高版本的springboot(大於2.4)上啟動也會有問題,2.0.0版本已經解決了相關的相容性問題;



宣告: 公眾號如需轉載該篇文章,發表文章的頭部一定要 告知是轉至公眾號: 後端元宇宙。同時也可以問本人要markdown原稿和原圖片。其它情況一律禁止轉載!