在基於Mybatis的項目中,我們可以通過Mybatis的插件從數據庫表結構進行業務代碼的生成。今天給大家介紹一款Idea的插件,不僅可以達到Mybatis反向生成的效果,而且還可以更加靈活的使用。
插件安裝
通常Idea插件的安裝有兩種形式。
方式一:直接在Idea中找到Plugins配置,然後搜索“Easy Code”,點擊“install”進行安裝,重啓Idea便完成安裝。如下圖:
方式二:訪問Idea插件的官網:https://plugins.jetbrains.com/,然後搜索“Easy Code”,會展示如下結果:
點擊“Install to Idea”進行下載安裝。此時會檢查本機的Idea,並進行插件安裝,如果已經安裝會顯示如下內容:
這種方式適合在Plugins中沒有搜到Easy Code的場景。
數據庫配置
在數據庫中創建一張表,這裏以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數據庫並進行配置。
如果之前未配置過相應的數據庫,還需要下載一下對應的驅動程序。
連接成功,效果如下:
反向生成代碼
右擊要生成代碼的表,選擇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%的工作量。趕緊用起來吧。
喜歡本文的朋友們,歡迎長按下圖關注訂閱號成猿之路,收看更多精彩內容!
推薦閱讀: