spring-boot-plus後臺快速開發腳手架之代碼生成器使用

Generator 代碼生成

_ _ _ _ (_) | | | | | | ___ _ __ _ __ _ _ __ __ _ ______| |__ ___ ___ | |_ ______ _ __ | |_ _ ___ / __| '_ \| '__| | '_ \ / _` |______| '_ \ / _ \ / _ \| __|______| '_ \| | | | / __| \__ \ |_) | | | | | | | (_| | | |_) | (_) | (_) | |_ | |_) | | |_| \__ \ |___/ .__/|_| |_|_| |_|\__, | |_.__/ \___/ \___/ \__| | .__/|_|\__,_|___/ | | __/ | | | |_| |___/ |_| :: Spring Boot :: (v2.1.6.RELEASE) :: Spring Boot Plus :: (v1.0.0.RELEASE)

代碼生成內容

spring-boot-plus在mybatis-plus基礎上,新增param/vo等模板

拓展controller/service/mapper/xml方法

Purpose

數據庫新建表,即可生成後臺CRUD/分頁基礎代碼,還有swagger!

官網地址:springboot.plus

GITHUB:https://github.com/geekidea/spring-boot-plus

GITEE:https://gitee.com/geekidea/spring-boot-plus

代碼生成步驟

創建數據庫表,例如:sys_log

注意:記得加上表註釋,字段列註釋,方便生成類註釋、swagger註釋

-- ---------------------------- -- Table structure for sys_log -- ---------------------------- DROP TABLE IF EXISTS `sys_log`; CREATE TABLE `sys_log` ( `log_id` bigint(18) NOT NULL COMMENT '主鍵', `type` tinyint(1) NULL DEFAULT NULL COMMENT '類型', `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '內容', `create_id` bigint(18) NULL DEFAULT NULL COMMENT '創建人ID', `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', PRIMARY KEY (`log_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系統日誌' ROW_FORMAT = Dynamic; 代碼生成配置

spring-boot-plus/src/test/java/io/geekidea/springbootplus/test/CodeGenerator.java

2.1 修改數據庫連接配置

private static final String USER_NAME = "root"; private static final String PASSWORD = "rootroot"; private static final String DRIVER_NAME = "com.mysql.jdbc.Driver"; private static final String DRIVER_URL = "jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false";

2.2 修改模塊、表、作者等配置

// ############################ 配置部分 start ############################ // 模塊名稱 private static final String MODULE_NAME = "system"; // 作者 private static final String AUTHOR = "geekidea"; // 生成的表名稱 private static final String TABLE_NAME = "sys_log"; // 主鍵數據庫列名稱 private static final String PK_ID_COLUMN_NAME = "id"; // ############################ 配置部分 end ############################ MODULE_NAME 模塊名稱,在目前項目上以單獨的文件夾形式體現AUTHOR 作者名稱,在類的註釋上體現TABLE_NAME 表名稱,當前需要生成的表名稱,關聯實體類等PK_ID_COLUMN_NAME 主鍵列名稱,默認是id,如果是其它名稱,可在這裡配置運行CodeGenerator.java

3.1 控制檯輸出生成日誌

11:33:43.442 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================準備生成文件...========================== 11:33:44.167 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創建目錄: [E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\entity] 11:33:44.169 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創建目錄: [E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\web\controller] 11:33:44.170 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創建目錄: [E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\service] 11:33:44.170 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創建目錄: [E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\mapper] 11:33:44.171 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創建目錄: [E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\service\impl] ... 11:33:44.294 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/mapper.xml.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.308 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/mapper.xml.vm; 文件:E:\github\spring-boot-plus/src/main/resources/mapper/system/SysLogMapper.xml 11:33:44.313 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/queryParam.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.314 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/queryParam.java.vm; 文件:E:\github\spring-boot-plus/src/main/java/io/geekidea/springbootplus/system/web/param/SysLogQueryParam.java 11:33:44.332 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/queryVo.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.337 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/queryVo.java.vm; 文件:E:\github\spring-boot-plus/src/main/java/io/geekidea/springbootplus/system/web/vo/SysLogQueryVo.java 11:33:44.347 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/entity.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.357 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/entity.java.vm; 文件:E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\entity\SysLog.java 11:33:44.359 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/mapper.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.360 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/mapper.java.vm; 文件:E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\mapper\SysLogMapper.java 11:33:44.362 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/service.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.364 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/service.java.vm; 文件:E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\service\SysLogService.java 11:33:44.367 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/serviceImpl.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.369 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/serviceImpl.java.vm; 文件:E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\service\impl\SysLogServiceImpl.java 11:33:44.373 [main] DEBUG org.apache.velocity - ResourceManager : found /templates/controller.java.vm with loader org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 11:33:44.376 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 模板:/templates/controller.java.vm; 文件:E:\github\spring-boot-plus/src/main/java\io\geekidea\springbootplus\system\web\controller\SysLogController.java 11:33:44.376 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================文件生成完成!!!========================== Process finished with exit code 0

3.2 生成的模塊和包結構

├─system 模塊包 │ ├─entity 實體類包 │ ├─mapper mybatis mapper接口包 │ ├─service 服務接口包 │ │ └─impl 服務實現包 │ └─web 提供前端結果相關包 │ ├─controller 控制器包 │ ├─param 參數包 │ └─vo 值對象,響應結果包

3.3 生成的包及相關的類

├─system │ ├─entity │ │ SysLog.java 實體類,已生成swagger註釋 │ ├─mapper │ │ SysLogMapper.java mapper接口 │ ├─service │ │ │ SysLogService.java 服務接口,已繼承公共service │ │ └─impl │ │ SysLogServiceImpl.java 服務實現類,已繼承公共service impl │ └─web │ ├─controller │ │ SysLogController.java 控制器類,已生成CRUD,分頁controller方法,已生成swagger文檔 │ ├─param │ │ SysLogQueryParam.java 請求參數類,用於條件分頁查詢等 │ └─vo │ SysLogQueryVo.java 響應結果類,用於自定義查詢響應結果等

3.4 啟動項目

SpringBootPlusApplication.java 2019-07-27 12:11:45.298 INFO 21856 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8888 (http) with context path '' 2019-07-27 12:11:45.301 INFO 21856 --- [ main] i.g.s.SpringBootPlusApplication : Started SpringBootPlusApplication in 9.66 seconds (JVM running for 10.988) 2019-07-27 12:11:45.304 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : projectFinalName : spring-boot-plus 2019-07-27 12:11:45.305 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : projectVersion : 1.0.0.RELEASE 2019-07-27 12:11:45.305 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : profileActive : local 2019-07-27 12:11:45.305 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : contextPath : / 2019-07-27 12:11:45.305 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : port : 8888 2019-07-27 12:11:45.308 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : home:http://192.168.1.168:8888/ 2019-07-27 12:11:45.308 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : docs:http://192.168.1.168:8888/docs 2019-07-27 12:11:45.308 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : spring-boot-plus project start success........... 2019-07-27 12:11:45.309 INFO 21856 --- [ main] i.g.s.util.PrintApplicationInfo : ____ __ __ ____ /\ _`\ /\ \__ /\ \__ /\ _`\ \ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/

3.5 訪問項目

自動生成swagger CRUD、分頁接口文檔

add 添加接口swagger

delete 刪除接口swagger

getPageList 分頁接口swagger

info 詳情接口swagger

update 修改接口swagger

官網地址:springboot.plus