天天看點

【若依架構】代碼生成教程(前後端不分離)

若依官網的代碼生成文檔

要達到的效果如下:[學生管理] 下有個 [學生資訊] 菜單,裡面可以增删改查

【若依架構】代碼生成教程(前後端不分離)

1、修改代碼生成配置

這步其實可做可不做。
      
  • 單應用:編輯

    ruoyi-admin

    resources

    目錄下的

    application.yml

  • 多子產品:編輯

    ruoyi-generator

    中的

    resources

    generator.yml

我們這裡做的是單應用,是以改

ruoyi-admin

裡的

application.yml

author: lzy # 開發者姓名,生成到類注釋上
packageName: com.ruoyi.student # 預設生成包路徑
autoRemovePre: true # 是否自動去除表字首
tablePrefix: stu # 表字首
      
【若依架構】代碼生成教程(前後端不分離)

2、建立資料庫表結構(單表)

若依建表有個要求:表字段 和 表,都需要加注釋,注釋就是生成頁面的顯示内容

這個sql和官網的sql除了表名其他都一樣,我們用這個建表(如果是用圖形化工具或者自己寫SQL一定要記得加注釋)

drop table if exists stu_student;

create table stu_student (
  student_id           int(11)         auto_increment    comment '編号',
  student_name         varchar(30)     default ''        comment '學生名稱',
  student_age          int(3)          default null      comment '年齡',
  student_hobby        varchar(30)     default ''        comment '愛好(0代碼 1音樂 2電影)',
  student_sex          char(1)         default '0'       comment '性别(0男 1女 2未知)',
  student_status       char(1)         default '0'       comment '狀态(0正常 1停用)',
  student_birthday     datetime                          comment '生日',
  primary key (student_id)
) engine=innodb auto_increment=1 comment = '學生資訊表';
      

3、項目中建立子產品,并解決項目依賴的關系

①建立一個名為 

ruoyi-student

 的子產品:

【若依架構】代碼生成教程(前後端不分離)
【若依架構】代碼生成教程(前後端不分離)

②我們要在 RuoYi 整個項目下的

pom.xml

中引入剛剛建立的子產品:

【若依架構】代碼生成教程(前後端不分離)
<!-- 學生子產品-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-student</artifactId>
    <version>${ruoyi.version}</version>
</dependency>
      

③還需要在

ruoyi-admin

這個子產品的

pom.xml

【若依架構】代碼生成教程(前後端不分離)
<!--學生子產品-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-student</artifactId>
</dependency>
      

④由于自動生成的代碼會用到

ruoyi-common

中的内容,我們需要将

ruoyi-common

引入到我們建立的子產品中:(不做這個後面代碼會報錯,也會自動引入)

【若依架構】代碼生成教程(前後端不分離)
<dependencies>
    <dependency>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-common</artifactId>
    </dependency>
</dependencies>
      

4、若依系統中建立一個目錄 - 學生管理

【若依架構】代碼生成教程(前後端不分離)

但是現在隻是建好了目錄,裡面還沒有内容,是以打開是404。

【若依架構】代碼生成教程(前後端不分離)

5、導入一開始建的表并設定上級目錄,生成代碼

把剛剛建立的表導入:

【若依架構】代碼生成教程(前後端不分離)

導入後點選 [編輯] ,[生成資訊] :建議把生成子產品名和生成業務名寫的不一樣,否則後面可能會遇到問題,後面運作時會講到。

【若依架構】代碼生成教程(前後端不分離)

設定完畢後,生成代碼。

這裡說明一些上面填的東西會生成什麼

  • 生成包路徑 

    com.ruoyi.student

    ,就是生成的後端代碼的包路徑

  

【若依架構】代碼生成教程(前後端不分離)
  • 生成子產品名和生成業務名一起構成後端代碼裡自動生成的請求路徑,即頁面路徑
【若依架構】代碼生成教程(前後端不分離)
【若依架構】代碼生成教程(前後端不分離)

6、執行生成的SQL

自動生成的壓縮包裡有個SQL,這是用來生成菜單的,去資料庫裡執行一下這個SQL。

【若依架構】代碼生成教程(前後端不分離)

執行完後【學生管理】下就有【學生資訊】這個菜單了,但是旁邊還沒有頁面,因為我們代碼還沒放進項目。

【若依架構】代碼生成教程(前後端不分離)

7、将生成的代碼放入項目中

①将自動生成的代碼檔案main目錄直接複制到我們的建立子產品的src下,替換原本的main目錄。

【若依架構】代碼生成教程(前後端不分離)
若此時報錯則是該子產品沒有引入ruoyi-common,見第3步的④。
      

②将templates目錄拷貝到

ruoyi-admin

resources

中:

【若依架構】代碼生成教程(前後端不分離)

8、重新開機項目,通路頁面

注意:如果在上面取名的時候,生成子產品名和生成業務名取的是一樣的,可能會遇到一個問題:将代碼從Idea移到項目中時候,windows會将相同的兩層檔案夾自動合并。

比如:

templates.student.student.

會被合并為

templates.student

,此時在Idea裡右鍵改名是沒用的(它會把檔案夾名字改為

student.student

,并不是兩層檔案夾),需要去磁盤裡手動調整目錄,再回來運作。

【若依架構】代碼生成教程(前後端不分離)

一定要重新開機!然後就可以通路了。

【若依架構】代碼生成教程(前後端不分離)