溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

發(fā)布時間:2020-07-23 10:18:04 來源:網(wǎng)絡(luò) 閱讀:1676 作者:geekidea 欄目:編程語言

代碼生成 Generator

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

拓展controller/service/mapper/xml,生成通用CRUD/分頁方法

代碼生成模板:spring-boot-plus/src/test/resources/templates

Purpose

數(shù)據(jù)庫新建表,即可生成后臺CRUD/分頁基礎(chǔ)代碼,還有swagger!

官網(wǎng)地址:springboot.plus
GITHUB:https://github.com/geekidea/spring-boot-plus
GITEE:https://gitee.com/geekidea/spring-boot-plus
                 _                    _                 _                _
                (_)                  | |               | |              | |
  ___ _ __  _ __ _ _ __   __ _ ______| |__   ___   ___ | |_ ______ _ __ | |_   _ ___
 / __| '_ \| '__| | '_ \ / _` |______| '_ \ / _ \ / _ \| __|______| '_ \| | | | / __|
 \__ \ |_) | |  | | | | | (_| |      | |_) | (_) | (_) | |_       | |_) | | |_| \__ \
 |___/ .__/|_|  |_|_| |_|\__, |      |_.__/ \___/ \___/ \__|      | .__/|_|\__,_|___/
     | |                  __/ |                                   | |
     |_|                 |___/                                    |_|

      :: Spring Boot ::             (v2.1.6.RELEASE)
      :: Spring Boot Plus ::        (v1.0.0.RELEASE)

代碼生成步驟

  1. 創(chuàng)建數(shù)據(jù)庫表,例如: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 '內(nèi)容',
    `create_id` bigint(18) NULL DEFAULT NULL COMMENT '創(chuàng)建人ID',
    `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
    PRIMARY KEY (`log_id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系統(tǒng)日志' ROW_FORMAT = Dynamic;
  2. 代碼生成配置
    spring-boot-plus/src/test/java/io/geekidea/springbootplus/test/CodeGenerator.java

    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

2.1 修改數(shù)據(jù)庫連接配置

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";
// 主鍵數(shù)據(jù)庫列名稱
private static final String PK_ID_COLUMN_NAME = "id";
// ############################ 配置部分 end ############################
  • MODULE_NAME 模塊名稱,在目前項目上以單獨(dú)的文件夾形式體現(xiàn)
  • AUTHOR 作者名稱,在類的注釋上體現(xiàn)
  • TABLE_NAME 表名稱,當(dāng)前需要生成的表名稱,關(guān)聯(lián)實(shí)體類等
  • PK_ID_COLUMN_NAME 主鍵列名稱,默認(rèn)是id,如果是其它名稱,可在這里配置
  1. 運(yùn)行CodeGenerator.java

    3.1 控制臺輸出生成日志

    
    11:33:43.442 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================準(zhǔn)備生成文件...==========================
    11:33:44.167 [main] DEBUG com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine - 創(chuàng)建目錄: [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 - 創(chuàng)建目錄: [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 - 創(chuàng)建目錄: [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 - 創(chuàng)建目錄: [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 - 創(chuàng)建目錄: [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 生成的模塊和包結(jié)構(gòu)
```text
├─system                模塊包
│  ├─entity             實(shí)體類包
│  ├─mapper             mybatis mapper接口包
│  ├─service            服務(wù)接口包
│  │  └─impl            服務(wù)實(shí)現(xiàn)包
│  └─web                提供前端結(jié)果相關(guān)包
│      ├─controller     控制器包
│      ├─param          參數(shù)包
│      └─vo             值對象,響應(yīng)結(jié)果包

3.3 生成的包及相關(guān)的類

├─system                                
│  ├─entity                             
│  │      SysLog.java                   實(shí)體類,已生成swagger注釋
│  ├─mapper                             
│  │      SysLogMapper.java             mapper接口
│  ├─service                            
│  │  │  SysLogService.java             服務(wù)接口,已繼承公共service
│  │  └─impl                            
│  │          SysLogServiceImpl.java    服務(wù)實(shí)現(xiàn)類,已繼承公共service impl
│  └─web                                
│      ├─controller                     
│      │      SysLogController.java     控制器類,已生成CRUD,分頁controller方法,已生成swagger文檔
│      ├─param                                                
│      │      SysLogQueryParam.java     請求參數(shù)類,用于條件分頁查詢等
│      └─vo                             
│              SysLogQueryVo.java       響應(yīng)結(jié)果類,用于自定義查詢響應(yīng)結(jié)果等

啟動項目

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\ \ \ \_\ \/\ \__//\ \__//\  __//\__, `\/\__, `\
   \ `\____\ \__\ \__/.\_\\ \_\  \ \__\    \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/
    \/_____/\/__/\/__/\/_/ \/_/   \/__/     \/_____/\/___/  \/____/\/____/\/____/\/___/  \/___/ 

訪問項目

http://localhost:8888/swagger-ui.html

或者訪問本地ip

http://192.168.xxx.xxx:8888/swagger-ui.html

  • 自動生成swagger CRUD、分頁接口文檔
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用
  1. add 添加接口swagger
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

  2. delete 刪除接口swagger
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

  3. getPageList 分頁接口swagger
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

  4. info 詳情接口swagger
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用

  5. update 修改接口swagger
    spring-boot-plus后臺快速開發(fā)腳手架之代碼生成器使用
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI