天天看點

還在使用MyBatis Generator?試試這個工具

代碼生成

在企業軟體開發過程中,大多數時間都是面向資料庫表的增删改查開發。通過通用的增删改查代碼生成器,可以有效的提高效率,降低成本;把有規則的重複性勞動讓機器完成,解放開發人員。

MyBatis Generator

  • MyBatis Generator 是 MyBatis 提供的一個代碼生成工具

可以幫我們生成表對應的持久化對象(po)、操作資料庫的接口(dao)、CRUD sql 的 xml(mapper)。

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>${last.version}</version>
    <configuration>
        <!--mybatis的代碼生成器的配置政策檔案-->
        <configurationFile>mybatis-generator-config.xml</configurationFile>
    </configuration>
</plugin>           
  • 配置代碼生成相關的政策檔案 mybatis-generator-config.xml
<generatorConfiguration>
    <context>
        <!-- jdbc連接配接 -->
        <jdbcConnection> ... </jdbcConnection>
        <!-- schema為資料庫名,tableName為對應的資料庫表名 -->
        <table> ... </table>
        <!-- 注釋 -->
        <commentGenerator> ... </commentGenerator>
        <!-- 類型轉換 -->
        <javaTypeResolver> ... </javaTypeResolver>
        <!-- 生成實體類配置 -->
        <javaModelGenerator> ... </javaModelGenerator>
        <!-- 生成Mapper.xml檔案配置 -->
        <sqlMapGenerator> ... </sqlMapGenerator>
        <!-- 生成Mapper.java 接口-->
        <javaClientGenerator> ... </javaClientGenerator>
    </context>
</generatorConfiguration>           
  • 缺點
  1. 每次代碼生成需要配置對應的 mybatis-generator-config 通過 XML 的形式配置相關生成屬性和規則
  2. 無法生成通用的 Controller、Service 類,無法自定義模闆等

綜上兩點: mybatis-generator 使用非常不友善

EasyCode

是基于 IntelliJ IDEA Ultimate 版開發的一個代碼生成插件,主要通過自定義模闆(基于 velocity)來生成各種你想要的代碼。通常用于生成 Entity、Dao、Service、Controller。如果你動手能力強還可以用于生成 HTML、JS、PHP 等代碼。理論上來說隻要是與資料有關的代碼都是可以生成的。

快速上手

  1. 安裝 IDEA EasyCode 插件。 支援線上安裝,插件市場搜尋安裝即可。
還在使用MyBatis Generator?試試這個工具
  1. 使用 IDEA 連接配接目标資料源
還在使用MyBatis Generator?試試這個工具
  1. 選擇目标表進行代碼生成
還在使用MyBatis Generator?試試這個工具
還在使用MyBatis Generator?試試這個工具

進階配置

如上即可完成基于單表的增删改查方法,包括 Controller、Service、Mapper、Entity。 但預設生成是基于原生 MyBatis 的通用檔案,不适用于 MyBatisPlus、通用 Mapper 等 Mybatis 擴充插件。我們可以通過編輯 EasyCode 的模闆檔案,來動态添加我們的生成規則,并且可以導出給其他人使用。

  • 甚至于可以配置新的模闆生成前端頁面,比如基于 Element 的增删改查
還在使用MyBatis Generator?試試這個工具

總結

  • 當然很多腳手架都會内置代碼生成功能。 例如 pig 的開發平台子產品 ,通過自定義模闆引擎形式實作代碼生成,能夠更好的整合現有業務提開發效率。
還在使用MyBatis Generator?試試這個工具
項目推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統 歡迎關注