在基於Mybatis的項目中,咱們能夠經過Mybatis的插件從數據庫表結構進行業務代碼的生成。今天給你們介紹一款Idea的插件,不只能夠達到Mybatis反向生成的效果,並且還能夠更加靈活的使用。
前端
插件安裝
一般Idea插件的安裝有兩種形式。java
方式一:直接在Idea中找到Plugins配置,而後搜索「Easy Code」,點擊「install」進行安裝,重啓Idea便完成安裝。以下圖: web
方式二:訪問Idea插件的官網:https://plugins.jetbrains.com/,而後搜索「Easy Code」,會展現以下結果:面試
點擊「Install to Idea」進行下載安裝。此時會檢查本機的Idea,並進行插件安裝,若是已經安裝會顯示以下內容:spring
這種方式適合在Plugins中沒有搜到Easy Code的場景。sql
數據庫配置
在數據庫中建立一張表,這裏以tb_order爲例:數據庫
CREATE TABLE `tb_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`amount` int(11) NOT NULL DEFAULT '1',
`order_no` varchar(64) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
而後在Idea中添加配置數據源: 微信
這裏選擇使用Mysql數據庫並進行配置。mybatis
若是以前未配置過相應的數據庫,還須要下載一下對應的驅動程序。app
鏈接成功,效果以下:
反向生成代碼
右擊要生成代碼的表,選擇easycode,Generate Code。
在彈出頁面選擇包路徑以及要生成類:
我這裏已經實現建立好了一個Spring Boot的項目。一路點擊「yes」以後,生成了如下包及類:
固然,還有resources目錄下的mybatis的xml文件。在這些生成的類中提供了一些默認的增刪改查的方法。
爲了程序不報錯,還須要添加mybatis的依賴,如下爲整個項目的總體依賴內容:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency></dependencies>
經過上述一些列的操做,咱們即可以輕鬆經過插件生成代碼,不再用每次都一層層的手動建立各層的類了。
截止如今,上面的項目並不能正常運行,由於並無配置掃描Mapper接口的地方。此時可在TbOrderDao類上添加@Mapper註解,也能夠在啓動類裏面加上@MapperScan("com.secbro2.easycode.biz.dao")註解進行掃描。
最後,在application.properties或application.yml中配置對應的數據庫鏈接便可。
插件擴展
若是嫌棄手寫麻煩,或者想生成其餘的類型的類或文件,則能夠在配置中對其擴展或修改。好比將自動生成的dao.java模板類上自動添加上@Mapper,或將entity.java改用Lombok的形式進行生成都是能夠進行修改的。
經過該插件的一系列操做,寫代碼是否是變成一件很是容易的事了?最起碼能在基礎的類生成等工做上節省90%的工做量。趕忙用起來吧。
喜歡本文的朋友們,歡迎長按下圖關注訂閱號成猿之路,收看更多精彩內容!
推薦閱讀:
本文分享自微信公衆號 - 成猿之路(softwareload)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。