代碼生成
在企業軟體開發過程中,大多數時間都是面向資料庫表的增删改查開發。通過通用的增删改查代碼生成器,可以有效的提高效率,降低成本;把有規則的重複性勞動讓機器完成,解放開發人員。
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>
- 缺點
- 每次代碼生成需要配置對應的 mybatis-generator-config 通過 XML 的形式配置相關生成屬性和規則
- 無法生成通用的 Controller、Service 類,無法自定義模闆等
綜上兩點: mybatis-generator 使用非常不友善
EasyCode
是基于 IntelliJ IDEA Ultimate 版開發的一個代碼生成插件,主要通過自定義模闆(基于 velocity)來生成各種你想要的代碼。通常用于生成 Entity、Dao、Service、Controller。如果你動手能力強還可以用于生成 HTML、JS、PHP 等代碼。理論上來說隻要是與資料有關的代碼都是可以生成的。
快速上手
- 安裝 IDEA EasyCode 插件。 支援線上安裝,插件市場搜尋安裝即可。

- 使用 IDEA 連接配接目标資料源
- 選擇目标表進行代碼生成
進階配置
如上即可完成基于單表的增删改查方法,包括 Controller、Service、Mapper、Entity。 但預設生成是基于原生 MyBatis 的通用檔案,不适用于 MyBatisPlus、通用 Mapper 等 Mybatis 擴充插件。我們可以通過編輯 EasyCode 的模闆檔案,來動态添加我們的生成規則,并且可以導出給其他人使用。
- 甚至于可以配置新的模闆生成前端頁面,比如基于 Element 的增删改查
總結
- 當然很多腳手架都會内置代碼生成功能。 例如 pig 的開發平台子產品 ,通過自定義模闆引擎形式實作代碼生成,能夠更好的整合現有業務提開發效率。
項目推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統 歡迎關注