使用若依二次開發商城系統-4:商品屬性

功能3:商品分類
功能2:商品品牌
功能1:搭建若依運行環境

前言

商品屬性功能類似若依自帶的字典管理,分兩步,先設置屬性名,再設置對應的屬性值。

一.操作步驟

1)數據庫表product_property和product_property_value

使用建表語句在數據庫中創建表

drop table if exists product_property;
CREATE TABLE IF NOT EXISTS `product_property` (`id` bigint NOT NULL AUTO_INCREMENT COMMENT '屬性id',`name` varchar(64) COMMENT '屬性名稱',`remark` varchar(255) COMMENT '備注',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品屬性';drop table if exists product_property_value;
CREATE TABLE IF NOT EXISTS `product_property_value` (`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主鍵',`property_id` bigint COMMENT '屬性id',`name` varchar(64) COMMENT '屬性值',`remark` varchar(255) COMMENT '備注',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品屬性值';

2)代碼生成

系統工具
代碼生成
導入
在這里插入圖片描述

3)配置product_property

選中剛才創建的表product_property。點擊確定。
在操作列,點擊編輯圖標

基本信息

在這里插入圖片描述

實體類名稱:對應java代碼中的實體類的類名。
作者:對應java代碼中的注釋

字段信息

在這里插入圖片描述

插入列:控制新增頁面的顯示項。
顯示類型列:控制生成的組件類型。文本框,下拉框,單選框,復選框,圖片上傳等。
編輯列:控制修改頁面的顯示項。前期一般配置成跟插入列一致。
列表列:控制頁面表格的顯示列。
查詢列:控制頁面查詢條件項。勾選的字段會被生成頁面查詢條件。
必填列:控制新增和修改頁面中的對應字段是否必填。
具體配置需要參考項目的頁面原型。

生成信息

在這里插入圖片描述

生成包路徑:生成的java代碼,會放在對應的包路徑下。
生成功能名:在頁面上顯示菜單名稱
上級菜單:選中之前新建的一級目錄,商品中心。

在操作列,點擊生成代碼圖標。
瀏覽器會下載一個zip壓縮包。

4)配置product_property_value

選中剛才創建的表product_property_value。點擊確定。
在操作列,點擊編輯圖標

基本信息

在這里插入圖片描述
實體類名稱:對應java代碼中的實體類的類名。
作者:對應java代碼中的注釋

字段信息

在這里插入圖片描述

插入列:控制新增頁面的顯示項。
顯示類型列:控制生成的組件類型。文本框,下拉框,單選框,復選框,圖片上傳等。
編輯列:控制修改頁面的顯示項。前期一般配置成跟插入列一致。
列表列:控制頁面表格的顯示列。
查詢列:控制頁面查詢條件項。勾選的字段會被生成頁面查詢條件。
必填列:控制新增和修改頁面中的對應字段是否必填。
具體配置需要參考項目的頁面原型。

生成信息

在這里插入圖片描述

生成包路徑:生成的java代碼,會放在對應的包路徑下。
生成功能名:在頁面上顯示菜單名稱
上級菜單:選中之前新建的一級目錄,商品中心。

在操作列,點擊生成代碼圖標。
瀏覽器會下載一個zip壓縮包。

5)代碼附件-商品屬性頁面

將product_property表的java代碼和vue代碼放在對應的位置,sql語句也在數據庫中執行。
商品屬性頁面的單表增刪改查。
在這里插入圖片描述

6)商品屬性值頁面

將商品屬性頁面中的屬性名稱列設置為可點擊,打開屬性值設置頁面。

      <el-table-column label="屬性名稱" align="center"><template #default="scope"><router-link :to="'/mall/property-data/index/' + scope.row.id" class="link-type"><span>{{ scope.row.name }}</span></router-link></template></el-table-column>

修改src\router\index.js,新增動態路由

  {path: '/mall/property-data',component: Layout,hidden: true,permissions: ['mall:property:list'],children: [{path: 'index/:propertyId(\\d+)',component: () => import('@/views/mall/property/data'),name: 'PropertyData',meta: { title: '商品屬性值', activeMenu: '/mall/property' }}]}

新建文件src\views\mall\property\data.vue。將product_property_value表生成的vue代碼復制到文件內。
在這里插入圖片描述
在這里插入圖片描述
生成的java代碼復制到對應路徑
在這里插入圖片描述

新增查詢條件,實現商品屬性值頁面只顯示點擊的對應屬性下的值。
mapper/mall/ProductPropertyValueMapper.xml

    <select id="selectProductPropertyValueList" parameterType="ProductPropertyValue" resultMap="ProductPropertyValueResult"><include refid="selectProductPropertyValueVo"/><where><if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if><if test="propertyId != null">and property_id = #{propertyId}</if></where></select>

修改文件src\views\mall\property\data.vue。保存屬性ID,每次查詢時都要帶上。實現屬性值頁面只展示指定屬性ID下的。

const proId = ref("");/** 查詢商品屬性值列表 */
function getList() {loading.value = true;queryParams.value.propertyId = proId.valuelistProperty_value(queryParams.value).then((response) => {property_valueList.value = response.rows;total.value = response.total;loading.value = false;});
}function getListById(propertyId) {proId.value = propertyIdgetList()
}getListById(route.params && route.params.propertyId);

二.功能驗證

運行項目,瀏覽器訪問http://localhost/mall/property
在這里插入圖片描述
點擊屬性名稱列的顏色,打開商品屬性值頁面。只顯示出顏色屬性下的屬性值。
在這里插入圖片描述
點擊尺碼,只顯示出尺碼下的值。
在這里插入圖片描述

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

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

相關文章

操作指南:vLLM 部署開源大語言模型(LLM)

vLLM 是一個專為高效部署大語言模型&#xff08;LLM&#xff09;設計的開源推理框架&#xff0c;其核心優勢在于顯存優化、高吞吐量及云原生支持。 vLLM 部署開源大模型的詳細步驟及優化策略&#xff1a; 一、環境準備與安裝 安裝 vLLM 基礎安裝&#xff1a;通過 pip 直接安裝…

32.768kHz晶振詳解:作用、特性及與其他晶振的區別

一、32.768kHz晶振的核心作用 實時時鐘&#xff08;RTC&#xff09;驅動&#xff1a; 提供精確的1Hz時鐘信號&#xff0c;用于計時功能&#xff08;如電子表、計算機CMOS時鐘&#xff09;。 分頻公式&#xff1a; 1Hz 32.768kHz / 2^15&#xff08;通過15級二分頻實現&#x…

第3講、大模型如何理解和表示單詞:詞嵌入向量原理詳解

1. 引言 大型語言模型&#xff08;Large Language Models&#xff0c;簡稱LLM&#xff09;如GPT-4、Claude和LLaMA等近年來取得了突破性進展&#xff0c;能夠生成流暢自然的文本、回答復雜問題、甚至編寫代碼。但這些模型究竟是如何理解人類語言的&#xff1f;它們如何表示和處…

【Java面試筆記:進階】19.Java并發包提供了哪些并發工具類?

Java 并發包(java.util.concurrent)提供了一系列強大的工具類,用于簡化多線程編程、提升并發性能并確保線程安全。 1. Java 并發包的核心內容 并發包概述:java.util.concurrent 包及其子包提供了豐富的并發工具類,用于簡化多線程編程。主要組成部分: 高級同步結構:如 C…

Matlab數字信號處理——小波閾值法去噪分析系統

&#x1f527; 系統簡介 本系統通過 MATLAB GUI 圖形界面&#xff0c;集成了 小波閾值去噪算法 的各個核心模塊&#xff0c;可以實現以下功能&#xff1a; 打開語音文件&#xff1a;支持常見音頻格式讀取&#xff1b; 模擬加噪&#xff1a;系統內置白噪聲模擬功能&#xff0…

EDI 如何與 ERP,CRM,WMS等系統集成

在數字化浪潮下&#xff0c;與制造供應鏈相關產業正加速向智能化供應鏈轉型。傳統人工處理訂單、庫存和物流的方式已難以滿足下單客戶對響應速度和數據準確性的嚴苛要求。EDI技術作為企業間數據交換的核心樞紐&#xff0c;其與ERP、CRM、WMS等業務系統的深度集成&#xff0c;成…

計算機組成原理-408考點-數的表示

常見題型&#xff1a;C語言中的有符號數和無符號數的表示。 【例】有如下C語言程序段: short si-32767&#xff1b;unsigned short usisi&#xff1b;執行上述兩條語句后&#xff0c;usi的值為___。short和unsigned short均使用16位二進制數表示。 【分析】考點&#xff1a;同…

企業級AI開發利器:Spring AI框架深度解析與實戰

企業級AI開發利器&#xff1a;Spring AI框架深度解析與實戰 一、前言&#xff1a;Java生態的AI新紀元 在人工智能技術爆發式發展的今天&#xff0c;Java開發者面臨著一個新的挑戰&#xff1a;如何將大語言模型&#xff08;LLMs&#xff09;和生成式AI&#xff08;GenAI&#…

【金倉數據庫征文】——選擇金倉,選擇勝利

目錄 第一部分&#xff1a;金倉數據庫——開創數據庫技術的新時代 1.1 金倉數據庫的技術底蘊 1.2 高可用架構與災備能力 1.3 分布式架構與彈性擴展能力 第二部分&#xff1a;金倉數據庫助力行業數字化轉型 2.1 電信行業&#xff1a;核心系統國產化替代 2.2 醫療行業&…

用C語言實現——一個中綴表達式的計算器。支持用戶輸入和動畫演示過程。

一、思路概要和知識回顧 1.思路概要 ①中綴表達式計算&#xff1a; 需要處理運算符的優先級&#xff0c;可能需要用到棧結構。 ??如何將中綴表達式轉換為后綴表達式&#xff1f;或者直接計算&#xff1f; 通常&#xff0c;中綴轉后綴&#xff08;逆波蘭式&#xff09;再…

Langchain_Agent+數據庫

本處使用Agent數據庫&#xff0c;可以直接執行SQL語句。可以多次循環查詢問題 前文通過chain去聯系數據庫并進行操作&#xff1b; 通過鏈的不斷內嵌組合&#xff0c;生成SQL在執行SQL再返回。 初始化 import os from operator import itemgetterimport bs4 from langchain.ch…

Python 爬蟲如何偽裝 Referer?從隨機生成到動態匹配

一、Referer 的作用與重要性 Referer 是 HTTP 請求頭中的一個字段&#xff0c;用于標識請求的來源頁面。它在網站的正常運行中扮演著重要角色&#xff0c;例如用于統計流量來源、防止惡意鏈接等。然而&#xff0c;對于爬蟲來說&#xff0c;Referer 也可能成為被識別為爬蟲的關…

Post-Processing PropertySource instance詳解 和 BeanFactoryPostProcessor詳解

PropertySourcesBeanFactoryPostProcessor詳解 1. 核心概念 BeanFactoryPostProcessor 是 Spring 框架中用于在 BeanFactory 初始化階段 對 Environment 中的 PropertySource 進行后處理的接口。它允許開發者在 Bean 創建之前 對屬性源進行動態修改&#xff0c;例如添加、刪除…

[C]基礎13.深入理解指針(5)

博客主頁&#xff1a;向不悔本篇專欄&#xff1a;[C]您的支持&#xff0c;是我的創作動力。 文章目錄 0、總結1、sizeof和strlen的對比1.1 sizeof1.2 strlen1.3 sizeof和strlen的對比 2、數組和指針筆試題解析2.1 一維數組2.2 字符數組2.2.1 代碼12.2.2 代碼22.2.3 代碼32.2.4 …

賽靈思 XCKU115-2FLVB2104I Xilinx Kintex UltraScale FPGA

XCKU115-2FLVB2104I 是 AMD Xilinx Kintex UltraScale FPGA&#xff0c;基于 20 nm 先進工藝&#xff0c;提供高達 1 451 100 個邏輯單元&#xff08;Logic Cells&#xff09;&#xff0c;77 721 600 bit 的片上 RAM 資源&#xff0c;以及 5 520 個 DSP 切片&#xff08;DSP48E…

CAPL編程_03

1_文件操作的相關函數&#xff1a; 讀文本文件內容 讀取文本文件操作的三部曲 1&#xff09;打開文件 —— openFileRead ( ) 2&#xff09;逐行讀取 —— fileGetString ( ) 、fileGetStringSZ ( ) 3&#xff09;關閉文件 —— fileClose ( ) char content[100];…

2025年江西建筑安全員A證適合報考人群

江西建筑安全員A證適合報考人群 江西省建筑安全員A證&#xff08;建筑施工企業主要負責人安全生產考核合格證書&#xff09;主要面向建筑行業管理人員&#xff0c;適合以下人員報考&#xff1a; 1. 企業主要負責人 法人代表、總經理、分管安全副總&#xff1a;依法需持A證&a…

Docker安裝(Ubuntu22版)

前言 你是否還在為Linux上配置Docker而感到煩惱&#xff1f; 你是否還在為docker search&#xff0c;docker pull連接不上&#xff0c;而感到沮喪&#xff1f; 本文將解決以上你的所有煩惱&#xff01;快速安裝好docker&#xff01; Docker安裝 首先&#xff0c;我們得先卸載…

Ubuntu18.04配置C++環境和Qt環境

Ubuntu18.04配置C環境和Qt環境 1、前言3.2 安裝其他庫3.3 查看有沒有安裝成功3.4測試C環境 4、配置Qt環境4.1 安裝相關的庫4.2 測試 5、總結 1、前言 記錄一下Ubuntu18.04配置C環境和Qt環境的過程&#xff0c;方便自己日后回顧&#xff0c;也可以給有需要的人提供幫助。 # 2…

ACWing——算法基礎課

置頂思考&#xff1a; 算法的本質是什么樣的思想&#xff1f; 這種思想可以解決哪類問題&#xff1f; 有沒有其他的解決思路&#xff1f; 關注數值范圍&#xff0c;思考可不可以針對性解決問題&#xff1f; 目錄 https://leetcode.cn/circle/discuss/RvFUtj/ 滑動窗口與雙指針…