亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

IntelliJ IDEA中代碼一鍵生成方法

 更新時(shí)間:2020年02月14日 13:45:19   作者:江南一點(diǎn)雨  
EasyCode 是基于 IntelliJ IDEA 開發(fā)的代碼生成插件,支持自定義任意模板(Java,html,js,xml),這篇文章主要介紹了IntelliJ IDEA中代碼一鍵生成方法,需要的朋友可以參考下

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

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

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

我自己也稍微體驗(yàn)了一把,還是蠻方便的。

1.安裝

首先點(diǎn)擊 File->Settings->Plugins,然后搜索 EasyCode,如下:

安裝成功之后,重啟 IDEA。

2.創(chuàng)建項(xiàng)目

接下來我給大家演示一個(gè)如何在 Spring Boot 中使用 EasyCode。首先我們?cè)?IDEA 中創(chuàng)建一個(gè) SpringBoot 項(xiàng)目,創(chuàng)建過程我就不多說了,如果大家不會(huì),可以在我公眾號(hào)后臺(tái)回復(fù) springboot,有詳細(xì)的教程。

3.添加數(shù)據(jù)源

由于這個(gè)項(xiàng)目是基于 IDEA 上的 Database Tools 開發(fā)的,因此我們首先要通過 IDEA 上的 Database 連接數(shù)據(jù)源。

接下來配置你的數(shù)據(jù)庫連接信息,如果沒有檢測(cè)到合適的數(shù)據(jù)庫 Driver,點(diǎn)擊左下角自動(dòng)下載:

連接成功后,點(diǎn)擊 OK。默認(rèn)情況下沒有展示連接下的數(shù)據(jù)庫,需要我們手動(dòng)勾選,例如我這里要連接 vhr 數(shù)據(jù)庫,如下:

4.生成代碼

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

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

第一次添加的時(shí)候,如果有數(shù)據(jù)庫類型沒有對(duì)應(yīng)的 Java 類型,就會(huì)有提示,這個(gè)根據(jù)它的引導(dǎo)去添加映射關(guān)系即可,例如我在添加的時(shí)候,出了一個(gè)這個(gè)提示:

點(diǎn)擊 Yes,然后去添加自己的類型映射:

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

這里,如果項(xiàng)目是多模塊項(xiàng)目,可以先選擇代碼生成的 Module,然后設(shè)置代碼生成的 package,最后從下面勾選要生成的代碼模版,點(diǎn)擊 OK 即可。

在代碼生成的過程中,如果沒檢測(cè)到 package 下面有 service、dao 以及 entity 等包,工具會(huì)提示自動(dòng)創(chuàng)建,點(diǎn)擊 Yes 即可。

最終生成的代碼如下:

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

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

5.自定義模版

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

點(diǎn)擊 File->Settings->Easy Code->Template Setting:

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

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

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

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

配置完成后,點(diǎn)擊 OK。

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

以上所述是小編給大家介紹的IntelliJ IDEA中代碼一鍵生成,希望對(duì)大家有所幫助,也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • SpringBoot中的HATEOAS詳情

    SpringBoot中的HATEOAS詳情

    這篇文章主要介紹了SpringBoot中的HATEOAS詳情,SpringBoot提供了HATEOAS的便捷使用方式,文章圍繞主題展開詳細(xì)介紹內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • Java實(shí)現(xiàn)字符串解析為日期時(shí)間的方法示例

    Java實(shí)現(xiàn)字符串解析為日期時(shí)間的方法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)字符串解析為日期時(shí)間的方法,結(jié)合具體實(shí)例形式分析了java日期時(shí)間字符串的解析操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-04-04
  • SpringBoot實(shí)現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例

    SpringBoot實(shí)現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例

    前后端分離項(xiàng)目中,在調(diào)用接口調(diào)試時(shí)候,我們可以通過cpolar內(nèi)網(wǎng)穿透將本地服務(wù)端接口模擬公共網(wǎng)絡(luò)環(huán)境遠(yuǎn)程調(diào)用調(diào)試,本次教程我們以Java服務(wù)端接口為例,需要的朋友可以參考下
    2023-05-05
  • Java中一些常見的并發(fā)集合類的使用

    Java中一些常見的并發(fā)集合類的使用

    并發(fā)集合是一種特殊的數(shù)據(jù)結(jié)構(gòu),它允許多個(gè)線程安全地訪問和修改,本文主要介紹了Java中一些常見的并發(fā)集合類的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • SpringCloud高可用配置中心Config詳解

    SpringCloud高可用配置中心Config詳解

    Spring Cloud Config 是一個(gè)解決分布式系統(tǒng)的配置管理方案,它包含了 server 和 client 兩個(gè)部分,這篇文章主要介紹了SpringCloud之配置中心Config(高可用),需要的朋友可以參考下
    2022-04-04
  • java使用IO流對(duì)數(shù)組排序?qū)嵗v解

    java使用IO流對(duì)數(shù)組排序?qū)嵗v解

    在本篇文章里小編給大家整理的是一篇關(guān)于java使用IO流對(duì)數(shù)組排序?qū)嵗v解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實(shí)現(xiàn)

    java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實(shí)現(xiàn)

    這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • SSM框架下如何實(shí)現(xiàn)數(shù)據(jù)從后臺(tái)傳輸?shù)角芭_(tái)

    SSM框架下如何實(shí)現(xiàn)數(shù)據(jù)從后臺(tái)傳輸?shù)角芭_(tái)

    這篇文章主要介紹了SSM框架下如何實(shí)現(xiàn)數(shù)據(jù)從后臺(tái)傳輸?shù)角芭_(tái),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 一篇看懂Java中的Unsafe類

    一篇看懂Java中的Unsafe類

    在閱讀AtomicInteger的源碼時(shí),看到了這個(gè)類:sum.msic.Unsafe,之前從沒見過。所以花了點(diǎn)時(shí)間研究了下,下面這篇文章主要給大家介紹了關(guān)于Java中Unsafe類的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • SpringBoot集成mybatis實(shí)例

    SpringBoot集成mybatis實(shí)例

    本篇文章主要介紹了SpringBoot集成mybatis實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評(píng)論