自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

還在手寫(xiě)SQL實(shí)現(xiàn)?試試這款I(lǐng)DEA插件吧!提示太全了,還能一鍵生成代碼!

數(shù)據(jù)庫(kù) 新聞
這是一款非常好用的IDEA插件,不僅提示全面,而且自帶了圖形化的代碼生成器,能極大地提高我們的開(kāi)發(fā)效率。

最近發(fā)現(xiàn)之前使用的MyBatis插件很久都沒(méi)更新了,就想換個(gè)其他插件來(lái)用用。偶然發(fā)現(xiàn)MyBatis-Plus團(tuán)隊(duì)也開(kāi)發(fā)了一款插件 MyBatisX ,體驗(yàn)了一把確實(shí)非常好用,提示很全,而且還能通過(guò)GUI生成代碼,推薦給大家!

SpringBoot實(shí)戰(zhàn)電商項(xiàng)目mall(50k+star)地址: https://github.com/macrozheng/mall

MybatisX簡(jiǎn)介

MybatisX是一款基于IDEA的快速開(kāi)發(fā)插件,由MyBatis-Plus團(tuán)隊(duì)開(kāi)發(fā)維護(hù),為效率而生。

它的主要功能如下:

  • 支持mapper.xml和Mapper接口之間方法的互相導(dǎo)航跳轉(zhuǎn);
  • 內(nèi)置代碼生成器,通過(guò)使用GUI的形式,能根據(jù)數(shù)據(jù)庫(kù)來(lái)生成Domain、mapper.xml、Mapper、Service和Service實(shí)現(xiàn)類(lèi)代碼;
  • 可以自定義代碼生成器模板;
  • 可以通過(guò)類(lèi)似JPA的方式,直接根據(jù)方法名稱在mapper.xml中生成查詢實(shí)現(xiàn),同時(shí)支持提示。

使用

接下來(lái)介紹下MybatisX的使用,這里以我的腳手架項(xiàng)目mall-tiny為例。

安裝

在使用前我們需要在插件市場(chǎng)中搜索并安裝MyBatisX插件。

安裝完成后我們會(huì)發(fā)現(xiàn)所有的Mapper接口和mapper.xml文件都變成了MyBatis的小鳥(niǎo)圖標(biāo)。

XML與接口互跳

我們點(diǎn)擊Mapper接口方法左側(cè)的圖標(biāo)可以直接跳轉(zhuǎn)到mapper.xml對(duì)應(yīng)的SQL實(shí)現(xiàn),在mapper.xml點(diǎn)擊左側(cè)圖標(biāo)也可以直接跳轉(zhuǎn)到Mapper接口中對(duì)應(yīng)的方法。

自動(dòng)生成代碼

還記得之前在mall-tiny項(xiàng)目中我們手寫(xiě)的代碼生成器么,MyBatisX直接整了個(gè)帶圖形化界面的,下面我們來(lái)體驗(yàn)下。

  • 選中表以后右鍵可以直接生成對(duì)應(yīng)表的CRUD代碼,當(dāng)然你也可以多選,支持一次性生成多表;

  • 生成的時(shí)候可以通過(guò)GUI來(lái)修改選項(xiàng),比如修改基礎(chǔ)包路徑、實(shí)體類(lèi)包路徑等;

  • 生成時(shí)選擇注解和模板類(lèi)型為Mybatis-Plus 3,有需要的話可以勾選Lombok選項(xiàng)以及修改mapper.xml的文件路徑;

  • 點(diǎn)擊確認(rèn)后將生成如下文件,還記得之前在mall-tiny項(xiàng)目中用代碼寫(xiě)的代碼生成器么,有了GUI就用不著手寫(xiě)了!

自定義生成模板

如果你覺(jué)得默認(rèn)的代碼生成器模板不符合你的要求,還可以試試自定義模板。

  • 我們一般會(huì)在實(shí)體類(lèi)中加入Swagger的注解,方便API文檔的生成,MyBatisX默認(rèn)生成的實(shí)體類(lèi)是不帶Swagger注解的;

  • MyBatisX也提供了生成帶Swagger注解的實(shí)體類(lèi)模板,但是有點(diǎn)復(fù)雜不太符合我的要求,我們可以修改下生成模板,生成模板都在extensions->MyBaitsX 目錄下;

  • 這里我們修改下domain.ftl 文件即可,最終文件內(nèi)容如下;
package ${domain.packageName};

import java.io.Serializable;
<#list tableClass.importList as fieldType>${"\n"}import ${fieldType};</#list>
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* ${tableClass.remark!}
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("${tableClass.tableName}")
@ApiModel(value="${tableClass.shortClassName}對(duì)象", description="${tableClass.remark!}")
public class ${tableClass.shortClassName} implements Serializable {

private static final long serialVersionUID=1L;

<#list tableClass.allFields as field>
@ApiModelProperty("${field.remark!}")
private ${field.shortTypeName} ${field.fieldName};

</#list>
}
  • 然后再運(yùn)行代碼生成器,選擇只生成帶Swagger注解的實(shí)體類(lèi);

  • 生成完成后實(shí)體類(lèi)就會(huì)帶上Swagger注解了,是不是很方便!

JPA提示

MyBatisX還有個(gè)強(qiáng)大的功能,可以根據(jù)JPA風(fēng)格的方法名直接生成SQL實(shí)現(xiàn),無(wú)需手寫(xiě)SQL。

  • 例如我們想寫(xiě)個(gè)批量插入數(shù)據(jù)方法,就可以這樣來(lái)操作;

  • 例如我們想寫(xiě)個(gè)根據(jù)名稱查詢品牌的方法,MyBatisX會(huì)像JPA一樣自動(dòng)提示字段,并且能自動(dòng)生成SQL實(shí)現(xiàn);

  • 例如我們想寫(xiě)個(gè)根據(jù)ID修改品牌名稱的方法;

  • 例如我們想寫(xiě)個(gè)根據(jù)名稱刪除品牌的方法,MyBatisX的JPA提示還是非常全面的!

圖標(biāo)設(shè)置

如果你不想Mapper接口和mapper.xml文件都變成小鳥(niǎo)圖標(biāo)的話,可以做在MyBatisX的設(shè)置中進(jìn)行修改。

總結(jié)

MyBatisX確實(shí)是一款非常好用的IDEA插件,不僅提示全面,而且自帶了圖形化的代碼生成器,能極大地提高我們的開(kāi)發(fā)效率。MyBatisX中的JPA提示功能也非常不錯(cuò),只要你的方法命名符合JPA規(guī)范,就能自動(dòng)生成SQL實(shí)現(xiàn),確實(shí)是個(gè)好功能。

責(zé)任編輯:張燕妮 來(lái)源: segmentfault.co
相關(guān)推薦

2020-05-11 09:40:47

IDEA代碼神器

2020-02-25 23:36:04

代碼開(kāi)發(fā)工具

2021-11-24 07:47:06

安全

2024-06-21 10:27:21

Service生成工具鴻蒙

2021-10-25 08:00:00

工具DataTrucker后端

2023-06-01 15:30:30

Service代碼生成工具

2022-01-06 08:34:32

數(shù)據(jù)庫(kù)Spark查詢

2020-07-29 10:55:07

數(shù)據(jù)庫(kù)工具技術(shù)

2020-02-15 14:34:33

IDEA插件代碼

2024-03-26 10:30:37

Mybatis擴(kuò)展庫(kù)API

2024-06-21 10:07:06

鴻蒙service生成工具

2020-11-17 07:43:24

互聯(lián)網(wǎng)MVC服務(wù)類(lèi)

2021-01-21 07:31:11

Filter框架權(quán)限

2023-05-29 09:08:27

SQL日志數(shù)據(jù)

2020-03-31 15:03:56

Spring Boot代碼Java

2020-10-10 14:57:16

代碼開(kāi)發(fā)工具

2022-08-02 14:27:01

HDF驅(qū)動(dòng)框架驅(qū)動(dòng)開(kāi)發(fā)

2024-03-15 14:34:12

Oracle數(shù)據(jù)庫(kù)一鍵巡檢

2019-10-11 11:00:53

Nginx神器前端

2021-03-05 22:57:25

遞歸閉包 Python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)