AI+若依框架(低代碼開發)

提前說明:

文章是實時更新,寫了就會更。
文章是黑馬視頻的筆記,如果要自己學可以點及下面的鏈接:
https://www.bilibili.com/video/BV1pf421B71v/

一、若依介紹

1.版本介紹

若依為滿足多樣化的開發需求,提供了多個版本

  • RuoYi-Vue(SpringBoot+Vue的單體項目)

  • RuoYi-Cloud(SpringCloud+Vue的微服務版本項目)

  • RuoYi-App(Uniapp+Vue移動版本)

    RuoYi-APP沒有提供后端,可以適配RuoYi-Vue和RuoYi-Cloud

  • RuoYi-other(若依第三方版本)

2.技術選型

本次筆記選用RuoYi-Vue

技術版本
JDK1.8及以上
Mysql5.7及以上
Redis3.0及以上
Node12及以上

3.項目地址

  • 前端:https://gitee.com/zi-ning/RuoYi-Vue3
  • 后端:https://gitee.com/y_project/RuoYi-Vue

二、項目搭建

1.后端項目搭建

1.1 Git克隆項目

https://gitee.com/y_project/RuoYi-Vue

1.2 導入MySQL

  1. 創建數據庫
  2. 找到后端項目中的sql文件夾,里面有兩個sql腳本,執行【包含30張表】
  3. 將SpringBoot項目配置文件中的數據庫配置改成自己的

1.3 啟動Redis

1.4 啟動后端項目

項目的啟動類在ruoyi-admin模塊中的RuoYiApplication中

1.5說明

后端項目自帶的前端是Vue2版本,現在都是用Vue3,所以可以直接刪掉了

2.前端搭建

2.1 Git克隆前端項目

https://gitee.com/zi-ning/RuoYi-Vue3

2.2 下載前端依賴

npm install

2.3 運行前端項目

npm run dev

三、入門案例

現在需要一個課程管理模塊,這個模塊的前端頁面需要條件查詢框、數據顯示框、添加課程框、課程修改框。

1.準備表結構并導入數據庫

#SQL示例
CREATE TABLE courses(id              INT AUTO_INCREMENT PRIMARY KEY,code            VARCHAR(50)    NOT NULL,discipline      VARCHAR(100)   NOT NULL,course_name     VARCHAR(255)   NOT NULL,price           DECIMAL(10, 2) NOT NULL,target_audience VARCHAR(255),description     TEXT,created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,updated_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

2.配置代碼生成信息【重要】

這一步是通過手動配置,從而生成對應的代碼
  1. 啟動前后端項目,進入前端頁面

  2. 選擇系統工具——代碼生成——導入

    image-20240703143917551

  3. 選擇剛才創建的表,點擊確定【這樣就把表單交由代碼生成器管理了】

    image-20240703144032676

    image-20240703144047729

  4. 點擊對應表單后面的編輯按鈕【可以查看基本信息、字段信息、生成信息等】

    image-20240703144140807

    image-20240703144421684

  5. 點擊基本信息:這里修改實體類名稱、作者名稱

    這里設置的實體類名稱就是后面他自動生成的實體類名
    

    image-20240703144732399

  6. 點擊字段信息:這里需要修改字段描述、java類型、java屬性、增刪改勾選框、查詢框、查詢方式、顯示類型

    1.字段描述:就用于將來展示的列名
    2.java類型:一般不用修改,檢查一遍即可
    3.java屬性:就是用來生成后面的實體類,注意駝峰命名
    4.增刪改勾選框:一般是結合頁面原型,如果頁面中需要增刪改某個字段,就勾上
    5.查詢框:就是將來的條件查詢,勾了就會在上面顯示一個選擇框
    6.查詢方式:如果是等值就用=,如果是模糊就用like
    7.必填框:如果是必須輸入就勾上
    8.顯示類型:默認是文本框由用戶輸入,后面可以改成下拉框等
    
  7. 點擊生成信息:修改相關信息

    1.包路徑
    2.生成模塊名
    3.生成業務名
    4.生成功能名
    5.生成方式
    6.上級菜單:生成的頁面在哪個模塊下,默認在系統工具下
    

    image-20240703150129942

  8. 點擊提交

3.下載代碼并導入項目

上一步配置完成之后,會生成三部分信息:前后端代碼以及動態菜單【前端根據動態菜單動態顯示頁面】,導入項目就可以了
  1. 點擊右側的下載按鈕

    image-20240703150422081

  2. 導入下載下來的動態菜單SQL

    這一步不會新生成一個表,而是插入數據到sys_menu表中
    
  3. 導入前端的代碼【包括api以及views頁面】

  4. 導入java代碼到admin模塊中【三層架構代碼和mybatis的映射文件】

4.重啟項目

四、功能詳解

1.權限控制管理

什么是權限控制:不同權限的用戶登錄相同的系統,可以訪問的頁面不同
若依提供的權限管理模塊:用戶管理、角色管理、菜單管理、部門管理、崗位管理

1.1 RBAC

RBAC是一種廣泛使用的訪問控制模型,通過角色來管理用戶菜單權限

image-20240703153321716

實現上述的關系,需要使用五張表:用戶表、角色表、菜單表、用戶角色表、角色菜單表

同時若依提供了崗位、部門模塊,實現了更加精細的權限管理

image-20240703153757466

表關系如下:

image-20240703153839336

1.2 菜單分類

  • 目錄:一個模塊的大類,點擊后可以展開,不用于頁面跳轉
  • 菜單:點擊后可以進入對應的頁面
  • 按鈕:點擊對應的按鈕之后,會有對應的操作

2.數據字典

為什么要有數據字典?
前端頁面中的一些表單選項可能在不同表單中都會出現,而單獨編寫后,后期如果要修改會很麻煩,因此使用數據字典統一管理這些字段若依內置的數據字典包括:性別、狀態等
功能包括:字典類型管理、字典數據管理

2.1 表關系說明

image-20240703160713611

說明:
字典類型用于存儲一類字典的統稱,例如我有一個下拉框供用戶選擇城市,那么這類就可以命名為城市,然后字典數據表中存儲具體的城市名,由外鍵指定屬于哪一類字典

2.2 使用案例

將入門案例中學科管理字段改為數據字典維護

  1. 添加字典類型

    image-20240703161457271

  2. 點擊字典類型添加數據

    image-20240703161549616

    image-20240703161604641

    image-20240703161741657
  3. 修改對應的代碼生成信息

    image-20240703161916731

    image-20240703162011295

  4. 下載代碼,導入前端【如果后端的基本字段沒有動那么就直接導入前端代碼就可以】

3.參數設置

對系統中的參數進行動態維護,而不需要修改代碼。例如直接管理是否開啟驗證碼

image-20240703163040771

閱讀備注中的信息,根據備注修改參數鍵值即可

image-20240703163133593

4.通知公告

若依提供了通知公告的發布,但是由于查看的實現方法很多,因此他沒有實現,我們后續可以自己通過二次開發的方式實現發送郵件、以及彈窗的方式顯示通知

5.日志管理

若依提供了日志管理功能,包括登錄日志和操作日志,這些日志被記錄到數據庫

登錄日志:包含當前登錄用戶、IP地址、登錄狀態、訪問時間等

操作日志:包括操作類型、操作人員等,同時還可以清空日志

6.系統監控

若依提供了用戶監控、緩存監控、數據監控、服務監控等

7.定時任務

我們自己之前設置定時任務的時候都是硬編碼的格式,直接寫死到代碼中,如果需要修改定時任務的時間得去修改代碼。

而若依提供了更好的方式,我們只需要在項目中設置好執行的任務,然后可以在前端項目中動態修改項目執行時間

  1. 后端創建一個類,加入容器,創建一個方法,用來執行任務

    image-20240703185154566

  2. 在前端項目中新增定時任務,設置需要定時執行的任務和時間表達式

    image-20240703185417014

  3. 前端開啟任務

    image-20240703185430855

8.構建表單

通過表單構建工具,開發者只需要簡單的圖形化拖拽操作,就能構建復雜的表單

案例:通過表單構建工具,單獨制作一個添加課程的表單頁面

image-20240703190049093

  1. 制作表單

    image-20240703192249893

  2. 導出【可以選擇頁面或者彈窗】

    image-20240703192314306

    image-20240703192323641

  3. 將導出的文件復制到前端工程中

  4. 在菜單管理中創建路由地址,根據動態路由展示頁面

    image-20240703192449576

9.代碼生成

入門案例中已經使用了基本的代碼生成器,進行單表操作。若依還提供了樹表、主子表(一對多)操作

  • 樹表:數據存在層級關系【例如:省/市/縣】
  • 主子表:數據存在一對多的關系

案例:樹表關系的使用

image-20240703193011322

10.系統接口

若依集成了Swagger提供了在線接口文檔,可以進行測試

五、項目結構

https://www.bilibili.com/video/BV1pf421B71v?p=12&spm_id_from=pageDriver&vd_source=b246a40ef435cdf32c518bf3f296775d

1.前端部分

2.后端部分

3.表結構

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41723.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41723.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41723.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于jeecgboot-vue3的Flowable流程-集成仿釘釘流程(一)圖標svgicon的使用

因為這個項目license問題無法開源,更多技術支持與服務請加入我的知識星球。 1、lowflow這里使用了tsx的動態圖標,如下: import ./index.scss import type { CSSProperties, PropType } from vue import { computed, defineComponent, resolv…

MATLAB基礎應用精講-【數模應用】 嶺回歸(Ridge)(附MATLAB、python和R語言代碼實現)

目錄 前言 算法原理 數學模型 Ridge 回歸的估計量 Ridge 回歸與標準多元線性回歸的比較 3. Ridge 參數的選擇 算法步驟 SPSSPRO 1、作用 2、輸入輸出描述 3、案例示例 4、案例數據 5、案例操作 6、輸出結果分析 7、注意事項 8、模型理論 SPSSAU 嶺回歸分析案…

Java [ 進階 ] 深入理解 JVM

?探索Java基礎 深入理解 JVM? 深入理解 JVM:結構與垃圾回收機制 Java 虛擬機(JVM)是 Java 程序運行的核心,了解 JVM 的內部結構和垃圾回收機制對優化 Java 應用性能至關重要。本文將深入探討 JVM 的結構和垃圾回收機制&#…

支付寶沙箱對接(GO語言)

支付寶沙箱對接 1.1 官網1.2 秘鑰生成(系統默認)1.3 秘鑰生成(軟件生成)1.4 golan 安裝 SDK1.5 GoLand 代碼1.6 前端代碼 1.1 官網 沙箱官網: https://open.alipay.com/develop/sandbox/app 秘鑰用具下載: https://ope…

序列化、反序列化

java 提供了一種對象序列化的機制,該機制中,一個對象可以被表示為一個字節序列,該字節序列包括該對象的數據、有關對象的類型的信息和存儲在對象中數據的類型。 將序列化對象寫入文件之后,可以從文件中讀取出來,并且對…

Java并發編程-ThreadLocal深入解讀及案例實戰

文章目錄 概述原理使用場景示例最佳實踐內存泄漏風險阿里開源組件TransmittableThreadLocal原理和機制使用場景如何使用注意事項ThreadLocal在分布式存儲系統edits_log案例中的實踐1. 為什么使用`ThreadLocal`?2. 實踐案例2.1 緩存日志操作2.2 線程局部的編輯日志狀態3. 注意事…

在 Spring 中編寫單元測試

單元測試是軟件開發過程中不可或缺的一部分,它能有效地提高代碼質量,確保代碼功能的正確性。在 Spring 應用中,JUnit 和 Mockito 是常用的單元測試工具,而 Spring Test 提供了豐富的測試支持。本文將介紹如何在 Spring 中使用 JUn…

并行處理百萬個文件的解析和追加

處理和解析大量文件,尤其是百萬級別的文件,是一個復雜且資源密集的任務。為實現高效并行處理,可以使用Python中的多種并行和并發編程工具,比如multiprocessing、concurrent.futures模塊以及分布式計算框架如Dask和Apache Spark。這…

物聯網時代5G通信技術分析研究一、引言

一、引言 近幾年,移動網絡技術跟隨互聯網的不斷發展而改革和進步,給平民大眾的生活也帶來新的嘗試與影響。從2G網絡的出現,到逐步被社會民眾所了解的3G,再到被熟知的且正在服務于大家的4G網絡,移動網絡技術的發展速度令…

jQuery Mobile 安裝指南

jQuery Mobile 安裝指南 jQuery Mobile 是一個基于 jQuery 的移動設備友好的網頁開發框架,它允許開發者創建響應式網頁和應用程序。本指南將詳細介紹如何安裝 jQuery Mobile,并確保您的開發環境準備好進行移動網頁開發。 1. 環境準備 在開始安裝 jQuery Mobile 之前,請確…

Mysql系列-Binlog主從同步

原文鏈接:https://zhuanlan.zhihu.com/p/669450627 一、主從同步概述 mysql主從同步,即MySQL Replication,可以實現將數據從一臺數據庫服務器同步到多臺數據庫服務器。MySQL數據庫自帶主 從同步功能,經過配置,可以實現基于庫、表…

B端設計:任何不顧及用戶體驗的設計,都是在裝樣子,花架子

B端設計是指面向企業客戶的設計,通常涉及產品、服務或系統的界面和功能設計。與C端設計不同,B端設計更注重實用性和專業性,因為它直接影響企業的效率和利益。 在B端設計中,用戶體驗同樣至關重要。不顧及用戶體驗的設計只是空洞的表…

數據庫之索引(二)

目錄 一、如何判斷數據庫的索引是否生效 二、如何評估索引創建的是否合理 三、索引是否越多越好 四、如何處理數據庫索引失效 五、是否所有的字段都適合創建索引 一、如何判斷數據庫的索引是否生效 可以使用EXPLAIN語句查看索引是否正在使用。 例如,假設已經創…

70.Bug:使用list.sort(Comparator.Comping(User::getCreateTime).reverse())空指針異常

1.出錯原因&#xff1a;在xml中沒有做字段映射 報錯語句復現&#xff1a; List<User> listnew ArrayList<>()&#xff1b; xml中進行查詢數據&#xff0c;數據存放在list中........... //排序 list.sort(Comparator.Comping(User::getCreateTime).reverse())&…

經典的layui框架,還有人用嗎?令人惋惜。

自從layui官網宣布關閉之后&#xff0c;layui框架的用戶飛速下滑&#xff0c;以至于到現在貝格前端工場承接的項目中&#xff0c;鮮有要求使用layui框架的&#xff0c;那么個框架還有人用嗎&#xff1f; 一、layui沒落是不是jquery惹的禍 layui的沒落與jQuery無關。layui框架…

Hi3861 OpenHarmony嵌入式應用入門--UDP Server

本篇使用的是lwip編寫udp服務端。需要提前準備好一個PARAM_HOTSPOT_SSID宏定義的熱點&#xff0c;并且密碼為PARAM_HOTSPOT_PSK。 修改網絡參數 在Hi3861開發板上運行上述四個測試程序之前&#xff0c;需要根據你的無線路由、Linux系統IP修改 net_params.h文件的相關代碼&…

深入理解 Docker 容器技術

一、引言 在當今的云計算和軟件開發領域&#xff0c;Docker 容器技術已經成為了一項不可或缺的工具。它極大地改變了應用程序的部署和運行方式&#xff0c;為開發者和運維人員帶來了諸多便利。 二、Docker 容器是什么&#xff1f; Docker 容器是一種輕量級、可移植、自包含的…

起底:Three.js和Cesium.js,二者異同點,好比全科和專科.

Three.js和Cesium.js是兩個常用的webGL引擎&#xff0c;很多小伙伴容易把它們搞混淆了&#xff0c;今天威斯數據來詳細介紹一下&#xff0c;他們的起源、不同點和共同點&#xff0c;閱讀后你就發現二者就像全科醫院和專科醫院的關系&#xff0c;很好識別。 一、二者的起源 Th…

性能測試相關理解---性能測試流程(二)

六、性能測試流程&#xff08;如何做性能測試&#xff1f;) 根據學習全棧測試博主的課程做的筆記 1、前期準備– 項目初期就開始&#xff0c;業務需求評審時盡量參與,對業務更深刻的認識&#xff08;確定哪些是核心業務、哪些可能存在并發請求、確定什么地方會出現瓶頸,方便后…

WebOffice在線編微軟Offfice,并以二進制流的形式打開Word文檔

在日常辦公場景中&#xff0c;我們經常會遇到這種場景&#xff1a;我們的合同管理系統的各種Word,excel,ppt數據都是以二進制數組的形式存儲在數據庫中&#xff0c;如何從數據庫中讀取二進制數據&#xff0c;以二進制數據作為參數&#xff0c;然后加載到瀏覽器的Office窗口&…