關(guān)于IDEA MybatisX插件的使用小技巧
前言
一開始本來我是想用Free Mybatis plugin的,結(jié)果搜不到,然后就發(fā)現(xiàn)了這貨,一番體驗之后是真的舒爽?。。。?/p>
1.安裝MybatisX
2.功能
2.1.文件跳轉(zhuǎn)
這個功能我是在太愛了,在使用mybatis框架的時候,你還在繁瑣的找和接口對應(yīng)的mapper.xml、SQL語句嗎?還在繁瑣的找和mapper.xml對應(yīng)的接口、方法嗎?還在繁瑣的找注入給serviceImpl的接口嗎?
這也太麻煩還巨浪費(fèi)時間了!??!,而MybatisX插件提供了跳轉(zhuǎn)的功能,通過點擊“憤怒的小鳥”就可以跳轉(zhuǎn)到對應(yīng)的地方。
我敲了個簡單項目來演示:
跳到了mapper.xml(點第二只小鳥會跳到id為findAll所對應(yīng)的方法)
2.2.代碼自動生成
其實很久以前我就非常頭疼寫一堆dao、service、serviceImpl、mapper.xml、pojo的重復(fù)性工作,一直希望有那么一個工具幫我干這些重復(fù)性工作,而MybatisX可以根據(jù)表自動生成且模板可自定義。
最好搭配以下一起食用:
SpringBootMybatisPlus(可選,但是不選,效果就沒有那么好了)。
第一步: 連接數(shù)據(jù)源。
注意:時區(qū)要寫對,不然會犯?。〞r區(qū)在哪配置?上面"測試連接"要是測出了時區(qū)問題,你可以按照指引去做配置,改成Asia/Shanghai
即可)。
第二步: 點batisx-generator,配置自動生成代碼。
- module path:模塊路徑,此處填寫項目所在路徑。
- base package:填寫項目的包(你需要把dao、service、serviceImpl、mapper.xml、pojo這些生成在哪個包下)
- encoding:編碼,使用UTF-8即可。
- base path:就是base package的前段(比如,base path+base package=src/main/java/com/sangeng)
- relative package:實體類所在的包名,默認(rèn)是domain。
- extra class suffix:生成的實體類后面會加上此內(nèi)容。例如,上圖中本來要生成的實體類為User的,然后我們在extra class suffix框里敲上Test,最后生成的實體類為UserTest。
- ignore field prefix(前綴):數(shù)據(jù)庫中有字段名為name的,若ignore field prefix框里敲上na,則生成的實體類中對應(yīng)的屬性名為me,省略了na。
- ignore table prefix:數(shù)據(jù)庫表名為mybatis_db,若ignore tableprefix框里敲上my,則生成的實體類的名字變?yōu)閎atis_db(當(dāng)然,要是你設(shè)置了extra class suffix,那么生成的實體類后面會加上指定內(nèi)容)。
- superClass:生成實體類繼承的父類。
- annotation選項:生成的代碼中是否加上注解(例如,@TableName等注解)。None為沒有注解,其它為字面意思。
- 因為我只是做個演示,沒有使用MybatisPlus框架,也沒有service、serviceImpl,所以是這樣配置的,要是想要有service和serviceImpl,annotation可以勾選Mybatis-Plus3。
- options選項:經(jīng)過嘗試后,作用大致如下:
- comment:可能和生成java doc comments有關(guān),但試了下,好像沒有效果。
- toString/hashCode/equals:是否生成相應(yīng)的方法,建議勾選。
- Lombok:勾選后實體類自動添加Lombok的@Data注解,建議勾選(要先安裝Lombok插件哦)
- Actual Column:勾選后,生成的實體類屬性名和表中字段名大小寫會保持一致。例如,表中有字段Name,勾選該選項后生成的屬性名也為Name,未勾選則為name,建議根據(jù)實際需要勾選。
- Actual Column Annotation:是否對所有屬性名都加上注解標(biāo)明對應(yīng)字段,例如@TableName,建議勾選。
- JSR310:Data API:是否使用新標(biāo)準(zhǔn)的時間日期API,包括 Instant、Clock、LocalDateTime、DateTimeFormatter、ZonedDateTime 以及替換 Calendar 的 Chronology 等類。建議勾選(新標(biāo)準(zhǔn)的時間日期API比老版本友好多了,強(qiáng)烈建議使用新版時間日期API)
- template選項:生成mapper、service等相關(guān)代碼所使用的模板。
- 如果沒有使用MybatisPlus,可以選擇default-empty模板或自定義其它模板—默認(rèn)位于:臨時文件和控制臺–>Extensions–>MybatisX(就在idea左下邊)
- 對應(yīng)文件夾內(nèi)即為相關(guān)模板的具體配置文件。如果需要重置,右鍵template文件夾點擊重置默認(rèn)擴(kuò)展即可。
- 最底下的表:顯示所要生成文件的類型、模塊路徑、基本路徑、生成后位于哪個包(默認(rèn)為mapper)。后面3個列都可以修改值(以符合項目需求)。這些也可以在對應(yīng)的template的文件夾內(nèi)的
.meta.xml
中進(jìn)行修改。
補(bǔ)充:
要是使用了Mybatis-Plus框架這樣配置即可:
第三步: 點Finish,完事兒?。?!
注意:以上操作是敲定了user表,生成的是user表的,要是還要生成其它表的,一樣的套路即可。
查看自動生成的代碼:
2.3.代碼自動補(bǔ)全
第一步: 要有對應(yīng)接口的mapper.xml—可以把光標(biāo)放在接口名上右鍵生成:
第二步:
根據(jù)提示敲好方法名(或者自定義,但是就只會生成聲明,不會生成sql語句)–>右擊–>show context actions(顯示上下文操作)–>generate mybatis sql。
快捷:光標(biāo)放在方法名上–>Ctrl+Enter–>generate mybatis sql。
到此這篇關(guān)于關(guān)于MybatisX插件的使用小技巧的文章就介紹到這了,更多相關(guān)MybatisX使用小技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot?使用websocket技術(shù)主動給前端發(fā)送消息的實現(xiàn)
這篇文章主要介紹了springboot?使用websocket技術(shù)主動給前端發(fā)送消息的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Maven打包SpringBoot工程的實現(xiàn)示例
在使用Spring Boot和Maven的項目中,你可以使用Maven來打包你的項目,本文主要介紹了Maven打包SpringBoot工程的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2024-05-05使用Spring自定義實現(xiàn)IOC和依賴注入(注解方式)
這篇文章主要介紹了使用Spring自定義實現(xiàn)IOC和依賴注入(注解方式),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Spring?Boot?實現(xiàn)字段唯一校驗功能(實例代碼)
這篇文章主要介紹了Spring?Boot?實現(xiàn)字段唯一校驗,實現(xiàn)代碼很簡單,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08