懶人必備,IntelliJ IDEA中代碼一鍵生成


摘自:https://www.cnblogs.com/lenve/p/12306637.html

懶人必備,IntelliJ IDEA中代碼一鍵生成

 

之前有不少小伙伴問松哥微人事項目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其實舊版微人事當時沒有使用逆向工程,是我自己手動敲出來的,當然手動敲的工作量非常大。

今年發出來的新版微人事,我使用了逆向工程自動生成實體類和 dao 層的代碼。MyBatis 的逆向工程要么需要添加依賴,要么需要自己去網上下載 jar,用起來還是有點麻煩,所以,今天和小伙伴們介紹一款 IntelliJ IDEA 上的免費開源插件,叫做 EasyCode,可以方便的根據數據庫生成相應的代碼。

EasyCode 是基於 IntelliJ IDEA 開發的代碼生成插件,支持自定義任意模板(Java,html,js,xml);只要是與數據庫相關的代碼都可以通過自定義模板來生成;支持數據庫類型與 java 類型映射關系配置;支持同時生成生成多張表的代碼,張表有獨立的配置信息,完全的個性化定義,規則由你設置。

我自己也稍微體驗了一把,還是蠻方便的。

1.安裝

首先點擊 File->Settings->Plugins,然后搜索 EasyCode,如下:

在這里插入圖片描述

安裝成功之后,重啟 IDEA。

2.創建項目

接下來我給大家演示一個如何在 Spring Boot 中使用 EasyCode。首先我們在 IDEA 中創建一個 SpringBoot 項目,創建過程我就不多說了,如果大家不會,可以在我公眾號后台回復 springboot,有詳細的教程。

3.添加數據源

由於這個項目是基於 IDEA 上的 Database Tools 開發的,因此我們首先要通過 IDEA 上的 Database 連接數據源。

在這里插入圖片描述

接下來配置你的數據庫連接信息,如果沒有檢測到合適的數據庫 Driver,點擊左下角自動下載:

在這里插入圖片描述

連接成功后,點擊 OK。默認情況下沒有展示連接下的數據庫,需要我們手動勾選,例如我這里要連接 vhr 數據庫,如下:

在這里插入圖片描述

4.生成代碼

做完前面三步,准備工作就算 OK 了,接下來就是生成代碼了。例如我想給 vhr 中所有的代碼生成實體類、dao 層以及 service 層,方式如下:

首先選中所有的表,然后右鍵單擊,選擇 Easy Code->Generate Code,如下:

在這里插入圖片描述

第一次添加的時候,如果有數據庫類型沒有對應的 Java 類型,就會有提示,這個根據它的引導去添加映射關系即可,例如我在添加的時候,出了一個這個提示:

在這里插入圖片描述

點擊 Yes,然后去添加自己的類型映射:

在這里插入圖片描述

添加成功之后,再去做代碼生成,這下就可以了:

在這里插入圖片描述

這里,如果項目是多模塊項目,可以先選擇代碼生成的 Module,然后設置代碼生成的 package,最后從下面勾選要生成的代碼模版,點擊 OK 即可。

在代碼生成的過程中,如果沒檢測到 package 下面有 service、dao 以及 entity 等包,工具會提示自動創建,點擊 Yes 即可。

最終生成的代碼如下:

在這里插入圖片描述

至此,各層的代碼基本都生成了。大部分小伙伴用到這一步可能就 OK 了。

當然如果你覺得 EasyCode 自動生成的模版不夠用,或者不好用,我們也可以自定義模版。

5.自定義模版

例如,我想在生成的 dao 層代碼中,額外添加一個不需要任何條件,獲取所有數據的方法(默認的生成模版中沒有這個方法)。

點擊 File->Settings->Easy Code->Template Setting:

在這里插入圖片描述

可以參考工具自己的定義方式,我們現在先在dao.java 中,添加如下方法:

/** * 查詢所有數據 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 實例對象 * @return 對象列表 */ List<$!{tableInfo.name}> getAll();

然后再給它添加一個配套的 mapper.xml 中的方法,打開 mapper.xml ,添加如下方法:

<select id="getAll" resultMap="$!{tableInfo.name}Map"> select #allSqlColumn() from $!{tableInfo.obj.parent.name}.$!tableInfo.obj.name </select>

配置完成后,點擊 OK。

接下來再去重新生成代碼,就可以看到生成的方法中多了一個方法了,其他代碼模版的定義與這個類似,我就不再贅述了。

好了,小伙伴們不妨試試。

藍天為路,陽光滿屋。
 
分類:  雜七雜八
標簽:  idea


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM