日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于商品分类 商品表和属性表的设计

發布時間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于商品分类 商品表和属性表的设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前有這樣的一個需求,不考慮像京東或者淘寶這樣分類下有子分類的情況,只考慮一層分類的情況下,可以隨便添加分類,可以任意給商品添加屬性,而不需要更 改表的結構. 于是設計了一個這樣的結構,實現還是可以實現,一直在用,但是在操作上比較麻煩,大家討論下有沒有更好的方式.

----------------------------- 以下是幾個關聯的對象 省去了 getter/setter 方法 ------------------
Field.java 屬性
Java 代碼
  • public?class?Field{??
  • ???private?Integer?id;??
  • ???private?String?name;?//?屬性名稱??
  • }??
  • public class Field{ private Integer id; private String name; // 屬性名稱 }

    ProductField.java 商品屬性
    Java 代碼
  • public?class?ProductField{??
  • ?????private?Integer?id;??
  • ?????private?Field?field;?//?屬性對象??
  • ??????private?String?value;?//?屬性值?這里的值不管是整數?小數?還是什么類型都是用?String?類型??
  • ??
  • }??
  • public class ProductField{ private Integer id; private Field field; // 屬性對象 private String value; // 屬性值 這里的值不管是整數 小數 還是什么類型都是用 String 類型 }

    Product.java 商品表
    Java 代碼
  • public?class?Product{??
  • ???private?Integer?id;??
  • ???private?String?name;?//商品名稱??
  • ???//根據商品?加載這個商品的所有屬性?和屬性值??
  • ???private?Set<ProductField>?productFields?=?new?HashSet<ProductField>();//商品屬性集合??
  • }??
  • public class Product{ private Integer id; private String name; //商品名稱 //根據商品 加載這個商品的所有屬性 和屬性值 private Set<ProductField> productFields = new HashSet<ProductField>();//商品屬性集合 }

    Type.java
    Java 代碼
  • public?class?Type{??
  • ???private?Integer?id;??
  • ???private?String?name;?//分類名稱??
  • ???//通過類型?可以加載這個類型下的所有商品??一種類型對應多種商品??
  • ???//(暫時不考慮一種商品屬于多種類型?例如手機屬于電器類,也屬于通訊類產品)??
  • ???private?Set<Product>?products?=?new?HashSet<Product>();??
  • }??
  • public class Type{ private Integer id; private String name; //分類名稱 //通過類型 可以加載這個類型下的所有商品 一種類型對應多種商品 //(暫時不考慮一種商品屬于多種類型 例如手機屬于電器類,也屬于通訊類產品) private Set<Product> products = new HashSet<Product>(); }

    ----------------------? Hibernate 配置文件就不帖出來了,以下是由POJO和hbm配置文件生成出來的表 示例-


    //表關系
    Type??????
    id name???
    1? 電腦?????
    3? 手機??????
    4? 腦殘???????
    ????????
    Product
    id? name? typeid
    1?? SONY??? 1(fk)?
    2?? DELL??? 1
    3?? 韓國豬?? 4
    4?? 叁欣???? 3

    Fields???
    id name??
    1? 顏色
    2? 重量
    3? 型號
    ...
    ProductFields
    id pdctid? fieldid?? value
    1? (fk)1?? (fk1)1??? 紅色
    2????? 1??????? 2??? 500g
    3????? 2??????? 3??? XYZ
    4????? 2??????? 1??? 白色
    5????? 3??????? 4??? 1000.00

    --加載的測試數據
    Java 代碼
  • +++++++++?商 品信息?++++++++??
  • Name:Sony??
  • 價 格?-?2000.00??
  • 型 號?-?YY-1939??
  • 名 稱?-?鎖你牌手機??
  • +++++++++ 商品信息 ++++++++ Name:Sony 價格 - 2000.00 型號 - YY-1939 名稱 - 鎖你牌手機 href:http://www.javaeye.com/topic/616088

    轉載于:https://www.cnblogs.com/newstar0101/archive/2010/03/30/1700213.html

    總結

    以上是生活随笔為你收集整理的关于商品分类 商品表和属性表的设计的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。