在開發(fā)Mybatis的過程中,一直以來都要寫Mapper.xml谒拴,Mapper.java,Service.java涉波,Controller.java英上,Bean這些代碼炭序,以及代碼文件。在我以前不熟練的時候苍日,寫這些文件惭聂,以及代碼并沒有給我?guī)Я耸裁蠢_。我也就當作訓練我的代碼感覺了相恃。
目前辜纲,我遇到的問題是,項目在進度非常緊急的時候拦耐,就容不得你去優(yōu)哉游哉的寫代碼了耕腾。所以,就又要去找方法解決這個問題了杀糯。
在很早之前扫俺,公司里的框架是有逆向工程的功能的,我當時貌似也嘗試過固翰,但最終好像也沒有遲到什么好果子狼纬,鎩羽而歸!
現(xiàn)在因為這個原因骂际,又不得不重拾逆向工程疗琉。另外,我在寫這些代碼的過程中方援,也發(fā)現(xiàn)了一些問題没炒,比如,寫B(tài)ean的時候犯戏,數(shù)據(jù)庫和Java對象的名稱要成下劃線方式轉換為駝峰命名送火,數(shù)據(jù)庫字段類型要轉換為Java數(shù)據(jù)類型,數(shù)據(jù)表字段特多時先匪,復制粘貼生不如死种吸。比如,mapper.xml中呀非,關于增刪改查的sql映射語句也都是有章可循的坚俗。比如,各層文件的創(chuàng)建岸裙,擺放也都是很繁瑣而又簡單的操作猖败。這些操作也都是容易出錯的,不得不來回調試降允。
綜合上面的問題恩闻,逆向工程就顯得非常有必要了。
我嘗試了一些逆向工程方案剧董,主要如下:
1. Mybatis-plus的代碼生成器
AutoGenerator 是 MyBatis-Plus 的代碼生成器幢尚。需要引入相關的Maven依賴破停。
我嘗試了之后,Bean可以生成尉剩,但是其他類真慢,只是實現(xiàn)了mybatis-plus的接口,并無具體實現(xiàn)方法和sql映射理茎。這個封裝太厲害黑界,不適合我們自定義。
2. better-mybatis-generator
這是一個IDEA集成開發(fā)工具的插件功蜓,是免費的园爷。在IDEA中安裝該插件即可使用。使用也比較簡單式撼。
生成結果包括bean童社,mapper.xml中sql的基本映射,dao層方法定義著隆,基本能夠滿足需求扰楼。
3. MyBatisCodeHelperPro
這也是IDEA的插件,收費的美浦。使用的時候弦赖,需要激活碼。特點是功能強大浦辨,比較穩(wěn)定蹬竖。同樣也能夠生成bean,mapper.xml中的sql映射流酬,dao層方法定義币厕。也是可以的。
還有就是Mybatis官方提供的逆向工程插件芽腾,我以前就是玩過這個旦装。這次沒有嘗試了。