天天看點

dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...

代碼生成

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

推薦觀看

B站20W播放:

Java架構師必會六大核心知識點:多線程、JVM、設計模式、MySQL、Redis、ZooKeeper​www.bilibili.com

B站18W播放:

2020最新馬士兵老師講解多線程與高并發—吊錘P8面試官​www.bilibili.com

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

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

快速上手

  1. 安裝 IDEA EasyCode 插件。 支援線上安裝,插件市場搜尋安裝即可。
  2. 使用 IDEA 連接配接目标資料源
dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...
  1. 選擇目标表進行代碼生成
dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...
dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...

進階配置

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

  • 甚至于可以配置新的模闆生成前端頁面,比如基于 Element 的增删改查
dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...

總結

  • 當然很多腳手架都會内置代碼生成功能。 例如 pig[2] 的開發平台子產品 ,通過自定義模闆引擎形式實作代碼生成,能夠更好的整合現有業務提開發效率。
dao模式和前端控制器結合使用_不是吧,你還在使用MyBatis Generator?試試這個工具吧...

推薦觀看

B站20W播放:

Java架構師必會六大核心知識點:多線程、JVM、設計模式、MySQL、Redis、ZooKeeper​www.bilibili.com

B站18W播放:

2020最新馬士兵老師講解多線程與高并發—吊錘P8面試官​www.bilibili.com

繼續閱讀