在企業軟體開發過程中,大多數時間都是面向資料庫表的增刪改查開發。通過通用的增刪改查代碼生成器,可以有效的提高效率,降低成本;把有規則的重複性勞動讓機器完成,解放開發人員。
MyBatis GeneratorMyBatis 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 使用非常不方便
EasyCodeEasyCode[1] 是基於 IntelliJ IDEA Ultimate 版開發的一個代碼生成插件,主要通過自定義模板(基於 velocity)來生成各種你想要的代碼。通常用於生成 Entity、Dao、Service、Controller。如果你動手能力強還可以用於生成 HTML、JS、PHP 等代碼。理論上來說只要是與數據有關的代碼都是可以生成的。
快速上手安裝 IDEA EasyCode 插件。支持在線安裝,插件市場搜索安裝即可。
進階配置如上即可完成基於單表的增刪改查方法,包括 Controller、Service、Mapper、Entity。但默認生成是基於原生 MyBatis 的通用文件,不適用於 MyBatisPlus、通用 Mapper 等 Mybatis 擴展插件。我們可以通過編輯 EasyCode 的模板文件,來動態添加我們的生成規則,並且可以導出給其他人使用。
甚至於可以配置新的模板生成前端頁面,比如基於 Element 的增刪改查總結當然很多腳手架都會內置代碼生成功能。例如 pig[2] 的開發平臺模塊 ,通過自定義模板引擎形式實現代碼生成,能夠更好的整合現有業務提高開發效率。Reference[1]EasyCode: https://github.com/makejavas/EasyCode
[2]pig: https://github.com/pig-mesh/pig