- Easycode是idea的一個插件,可以直接對數據的表生成entity,controller,service,dao,mapper,無需任何編碼,簡單而強大。
1、安裝(EasyCode)
image.png
我這裏的話是已經那裝好了。
- 建議大家在安裝一個插件,叫做Lombok。
Lombok能通過註解的方式,在編譯時自動爲屬性生成構造器、getter/setter、equals、hashcode、toString方法。出現的神奇就是在源碼中沒有getter和setter方法,但是在編譯生成的字節碼文件中有getter和setter方法。
2、建立數據庫
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(20) DEFAULT NULL,
`sex` varchar(6) DEFAULT NULL,
`birthday` date DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS = 1;
3、在IDEA配置連接數據庫
- 在這個之前,新建一個Springboot項目,這個應該是比較簡單的。
-
建好SpringBoot項目之後,如下圖所示,找到這個Database
image.png
-
按照如下圖所示進行操作:
image.png
-
然後填寫數據庫名字,用戶名,密碼。點擊OK即可。這樣的話,IDEA連接數據庫就完事了。
連接數據庫.png
4、開始生成代碼
-
在這個裏面找到你想生成的表,然後右鍵,就會出現如下所示的截面。
生成代碼.png
-
點擊1所示的位置,選擇你要將生成的代碼放入哪個文件夾中,選擇完以後點擊OK即可。
操作2.png
-
勾選你需要生成的代碼,點擊OK。
操作3.png
-
這樣的話就完成了代碼的生成了,生成的代碼如下圖所示:
代碼生成.png
5、pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--熱部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 這個需要爲 true 熱部署纔有效 -->
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--阿里巴巴連接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
至此,如何生成代碼基本就講完了額,實際上這篇文章也是我參考別人的試驗的,我也是站在巨人的肩膀上。下面我要說的是我的模板,你們公司也肯定有自己的模板。我這個項目沒有引入tk.mapper相關的,其實引入也是一樣的,改模板、路徑照樣可以生成。
模板位置:
TypeMapper:
這裏是配置一些字段映射關係的,比如我這裏對tinyint沒有設置映射,導致生成時報字段類型未知錯誤,所以我在這裏配置增加一個tinyint的映射。如果是其他數據庫,也可能有其他特殊字段類型,統統在這裏配置。
GlobalConfig:
這是全局設置,這裏面呢又又幾個模板設置,初始的是又init(初始化),define(定義),autoImport(自動引包),mybatisSupport(mybatis支持)。每一個模板下面都有說明文檔,講的很清除。語法就是Velocity,不知道了可以自行get。
我這裏在init裏有改動,主要是表名開頭,我們有太多t_、c_、b_等開頭的表,索性直接改了表名判斷規則:
TemplateSetting:
最關鍵的就是這個了,entity(實體類)、dao(dao層)、service(service層)、serviceImpl(service實現)、mapper(xml文件)、controller(controller層)。這裏的模板,可以引入前面在GlobalConfig裏設置的模板。其實每個模板也很好理解,基本都是設置保存文件後綴、保存路徑。其他的可能就是每個類的繼承、實現、每個方法等。反正有基礎的都能看懂,只要前面把生成環境配置好了就ok了。
DataBase設置的時候可能會遇到時間區域的問題,實際上可以把項目裏連接數據庫的url都複製設置就ok了