MyBatisCodeHelperPro插件下載及使用教程詳解
參考:EasyCode
下載安裝
下載
MybatisCodeHelperNew-2.8.1-191-201.zip(親測(cè)Intellij2020.1絕對(duì)可用)
MyBatisCodeHelperPro插件下載地址:
注意:因某些限制,下載鏈接通過(guò)如下方式獲?。?/p>
需要的小伙伴,請(qǐng)關(guān)注微信公眾號(hào): Java技術(shù)迷, 或者掃描下方公眾號(hào)二維碼,回復(fù)關(guān)鍵字:091052, 即可免費(fèi)無(wú)套路獲取。
安裝
Intellij最新插件MybatisCodeHelper-2.8.1-191-201,使用方法IDEA頂部菜單:Tools -> MybatisCodeHelper -> Activation -> OfflineActivation,在offline key框輸入任意字符串,
Intellij2020.1版本可以使用,先安裝官方最新版本,然后做文件替換即可,替換路徑為:C:\Users\xxxx\AppData\Roaming\JetBrains\IntelliJIdea2020.1\plugins\MyBatisCodeHelper-Pro\lib
配置
數(shù)據(jù)庫(kù)用的tinyInt 或者 smallInt生成java類(lèi)型是 byte 和 short 兩種類(lèi)型。在java代碼里面操作 byte 和 short 類(lèi)型比較麻煩,經(jīng)常需要強(qiáng)制轉(zhuǎn)換,下面是設(shè)置使用Integer 來(lái)替代byte和short還有使用Java8的日期時(shí)間類(lèi)型
使用 Maven依賴(lài)
創(chuàng)建Maven項(xiàng)目,為保證生成的代碼不出丙錯(cuò)誤提示,導(dǎo)入依賴(lài):
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.11</version> </dependency> <!-- 保證生成的Service層的注解不錯(cuò) --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.1.RELEASE</version> </dependency>
根據(jù)實(shí)體類(lèi)生成建表sql
按alt+insert
生成的SQL語(yǔ)句:
生成好了建表語(yǔ)句后,到數(shù)據(jù)庫(kù)中執(zhí)行, 然后從數(shù)據(jù)庫(kù)來(lái)生成crud代碼
根據(jù)表生成Bean、Dao+mapper和Service
第一步:在Intellij中連接上MySQL數(shù)據(jù)庫(kù),在指定的表上右鍵
第二步:配置生成信息
說(shuō)明:
exampleQuery:會(huì)生成一大堆的example文件,xml中的example代碼看起來(lái)也很亂、建議使用方法名生成sql來(lái)替代。不推薦mapper接口做繼承,所以baseClass選項(xiàng)也不要選?,F(xiàn)在代碼都是自動(dòng)生成的,mapper做繼承僅能減少一些代碼量,效率提升不明顯。搞了繼承后,看mapper接口對(duì)應(yīng)的xml也變得比較麻煩,哪些方法要放到繼承里面也比較難定義,有可能某些接口繼承的方法根本用不到。 建議是每個(gè)接口只生成自己需要的xml方法。
-generatedComments選項(xiàng)建議選中,不然會(huì)出現(xiàn)如下所示的提示
第三步:查看各個(gè)生成的目錄
根據(jù)接口中的方法名生成對(duì)應(yīng)的mapper 只需要一個(gè)方法名,不需要參數(shù)和返回值,輸入方法名后,按alt+enter–Generate mybatis sql 就可以生成了
方法名生成sql時(shí)支持if test
一鍵添加@param注解
按alt+enter
結(jié)果:
生成mapper映射文件中resultMap未使用的字段
光標(biāo)放到resultmap標(biāo)簽type屬性值上 -> alt + enter -> generate unUsed properties
結(jié)果:
根據(jù)mapper接口生成mapper映射文件
創(chuàng)建一個(gè)接口 -> 光標(biāo)放到接口名上 -> alt + enter -> generate mybatis mapper for current class -> 選擇mapper映射文件位置
生成find方法
根據(jù)方法名 直接生成sql代碼 方法名有自動(dòng)提示 單表操作的代碼只有寫(xiě)個(gè)方法名就好了
find方法
生成update方法
生成delete方法
生成count方法
生成測(cè)試用例
生成分頁(yè)查詢(xún) (依賴(lài)于 pageHelper)
在DeptServiceImpl類(lèi)中就可以查看到剛才生成的帶有分頁(yè)功能的代碼。
從表數(shù)據(jù)導(dǎo)出java insert語(yǔ)句
可用于快速構(gòu)造測(cè)試數(shù)據(jù)
Dao中方法名的規(guī)則 find方法
可以使用 select query get 替代find開(kāi)頭,支持orderBy,distinct, findFirst
update方法
可以使用modify替代update開(kāi)頭
delete方法
可以使用remove替代delete開(kāi)頭
count方法
支持distinct
生成不基于Spring的單元測(cè)試
光標(biāo)定位在Mapper中待生成測(cè)試方法的方法聲明上按快捷鍵alt+enter
最終生成的測(cè)試代碼:
public class DaShangMapperTest { private static DaShangMapper mapper; @BeforeEach public static void setUpMybatisDatabase() { SqlSessionFactory builder = new SqlSessionFactoryBuilder().build(DaShangMapperTest.class.getClassLoader().getResourceAsStream("mybatisTestConfiguration/DaShangMapperTestConfiguration.xml")); //you can use builder.openSession(false) to not commit to database mapper = builder.getConfiguration().getMapper(DaShangMapper.class, builder.openSession(true)); } @Test public void testInsertDaShang() throws FileNotFoundException { mapper.insertDaShang(); } }
使用小技巧
查看字段
在mapper.xml文件的字段中按著ctrl鍵,單擊字段,會(huì)自動(dòng)跳轉(zhuǎn)表表的字段中,方便查看各字段的含義:
根據(jù)實(shí)體類(lèi)生成sql文件
創(chuàng)建一個(gè)實(shí)體類(lèi),在實(shí)體類(lèi)上右鍵-generate
選擇generte mybatis files
其中:
- unique:唯一索引,不可重復(fù);
- index:普通索引,可重復(fù);
有了表之后就可以創(chuàng)建mapper、mapper.xml、service、serviceImpl了
到此這篇關(guān)于MyBatis CodeHelperPro插件使用教程詳解的文章就介紹到這了,更多相關(guān)MyBatis CodeHelperPro插件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Java中對(duì)類(lèi)的主動(dòng)引用和被動(dòng)引用
這篇文章主要介紹了淺談Java中對(duì)類(lèi)的主動(dòng)引用和被動(dòng)引用,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Springboot集成swagger實(shí)現(xiàn)方式
這篇文章主要介紹了Springboot集成swagger實(shí)現(xiàn)方式,通過(guò)簡(jiǎn)單的示例代碼詳細(xì)描述了實(shí)現(xiàn)過(guò)程步驟,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-08-08Java語(yǔ)言中flush()函數(shù)作用及使用方法詳解
這篇文章主要介紹了Java語(yǔ)言中flush函數(shù)作用及使用方法詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01SpringBoot整合chatGPT的項(xiàng)目實(shí)踐
本文主要介紹了SpringBoot整合chatGPT的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Java 動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)示例
Java動(dòng)態(tài)數(shù)組是一種可以任意伸縮數(shù)組長(zhǎng)度的對(duì)象,本文主要介紹了Java 動(dòng)態(tài)數(shù)組的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08