最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java靈活使用mysql中json類型字段存儲數(shù)據(jù)詳解

 更新時間:2024年09月19日 08:34:56   作者:科大306曉巖  
在數(shù)據(jù)庫設計中,面對一對多的關系,如訂單和商品,可以考慮使用單表存儲而非傳統(tǒng)的分表方式,這篇文章主要介紹了java靈活使用mysql中json類型字段存儲數(shù)據(jù)的相關資料,需要的朋友可以參考下

日常數(shù)據(jù)庫存儲數(shù)據(jù)時經(jīng)常會碰見一對多的數(shù)據(jù)結構類型,例如一筆訂單中包含多個商品數(shù)據(jù),一般情況下,可能會設計一個order表,一個sku表,但如果就想用一個表去存儲這些訂單和商品數(shù)據(jù),那么應該如何去設計order表呢?這種情況下就可以使用萬能json類型字段進行存儲訂單與商品一對多的數(shù)據(jù)結構了.

建表語句:

CREATE TABLE `bd_order` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `orderId` varchar(55) DEFAULT NULL COMMENT '訂單id',
  `nick` varchar(55) DEFAULT NULL COMMENT '用戶昵稱',
  `skuInfo` json DEFAULT NULL COMMENT '商品信息',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='訂單表';

數(shù)據(jù)如下:

存入數(shù)據(jù):

商品實體類:

@Data
public class SkuInfo {
    
    private String name;
    private String price;
    private String skuId;

}

訂單實體類:

@Data
public class BdOrder {
    private Long id;
    private String orderId;
    private String nick;
    @TableField(value = "skuInfo",typeHandler = FastjsonTypeHandler.class)
    private Object skuInfo;

}

存入數(shù)據(jù)庫: 直接構造數(shù)據(jù)結構,插入數(shù)據(jù)庫即可

List<SkuInfo> list = new ArrayList<>();
SkuInfo skuInfo = new SkuInfo();
skuInfo.setName("華為mate70");
skuInfo.setPrice("6000.00");
skuInfo.setSkuId("12345678");
list.add(skuInfo);

BdOrder bdOrder = new BdOrder();
bdOrder.setOrderId("111");
bdOrder.setNick("張三");
bdOrder.setSkuInfo(list);
//執(zhí)行插入sql

從數(shù)據(jù)庫查詢數(shù)據(jù):  需要通過json去解析轉為list

//查詢bd_order表得到如下數(shù)據(jù)
BdOrder bdOrder = 查詢的數(shù)據(jù)
JSONArray jsonArray = JSONUtil.parseArray(bdOrder.getSkuInfo);
List<SkuInfo> skuInfoList = jsonArray.toList(SkuInfo.class);
//這樣就得到了skuInfoList ,也是訂單對應的多個商品數(shù)據(jù)

 上述使用的json工具類是hutool工具,如果想使用可以在pom引入依賴:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.3</version>
</dependency>

以上就是mysql的json類型存儲數(shù)據(jù)的插入和查詢。

到此這篇關于java靈活使用mysql中json類型字段存儲數(shù)據(jù)的文章就介紹到這了,更多相關java mysql中json字段存儲數(shù)據(jù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JAVA中出現(xiàn)異常、拋出異常后續(xù)代碼是否執(zhí)行情況詳析

    JAVA中出現(xiàn)異常、拋出異常后續(xù)代碼是否執(zhí)行情況詳析

    當產(chǎn)生異常后,并在異常處理器中進行執(zhí)行之后,程序會是如何的一種狀態(tài),是終止還是繼續(xù)執(zhí)行處理之后的代碼呢,下面這篇文章主要給大家介紹了關于JAVA中出現(xiàn)異常、拋出異常后續(xù)代碼是否執(zhí)行情況的相關資料,需要的朋友可以參考下
    2024-05-05
  • MyBatis 擴展BaseTypeHandler 轉換泛型 JSON 列表的解決方法

    MyBatis 擴展BaseTypeHandler 轉換泛型 JSON 列表的解

    本文詳細介紹了MyBatis中處理JSON轉換的bug及其解決方法,文章還介紹了如何處理抽象類和自定義對象的JSON轉換,并提供了一個基類AbstractListTypeHandler作為示例,最后,文章附上了MyBatis內建的javaTypeAlias鏈接,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 實例詳解Java調用第三方接口方法

    實例詳解Java調用第三方接口方法

    很多項目都會封裝規(guī)定好本身項目的接口規(guī)范,所以大多數(shù)需要去調用對方提供的接口或第三方接口(短信、天氣等),下面這篇文章主要給大家介紹了關于Java調用第三方接口方法的相關資料,需要的朋友可以參考下
    2022-06-06
  • Java struts2 package元素配置及實例解析

    Java struts2 package元素配置及實例解析

    這篇文章主要介紹了Java struts2 package元素配置及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • SpringBoot2.0 整合 Dubbo框架實現(xiàn)RPC服務遠程調用方法

    SpringBoot2.0 整合 Dubbo框架實現(xiàn)RPC服務遠程調用方法

    這篇文章主要介紹了SpringBoot2.0 整合 Dubbo框架 實現(xiàn)RPC服務遠程調用 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • java開發(fā)分布式服務框架Dubbo原理機制詳解

    java開發(fā)分布式服務框架Dubbo原理機制詳解

    這篇文章主要為大家介紹了java開發(fā)分布式服務框架Dubbo的原理機制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • spring boot國際化之MessageSource的使用方法

    spring boot國際化之MessageSource的使用方法

    這篇文章主要給大家介紹了spring boot國際化之MessageSource使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • java 格式化輸出數(shù)字的方法

    java 格式化輸出數(shù)字的方法

    在實際工作中,常常需要設定數(shù)字的輸出格式,如以百分比的形式輸出,或者設定小數(shù)位數(shù)等,現(xiàn)稍微總結如下
    2014-01-01
  • JavaCV實現(xiàn)多個MP4視頻的合并

    JavaCV實現(xiàn)多個MP4視頻的合并

    這篇文章主要為大家詳細介紹了如何使用javacv和ffmpeg框架實現(xiàn)簡單快速的合并mp4文件的視頻和音頻,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-10-10
  • 關于Springboot+gateway整合依賴并處理依賴沖突問題

    關于Springboot+gateway整合依賴并處理依賴沖突問題

    這篇文章主要介紹了Springboot+gateway整合依賴并處理依賴沖突問題,給大家提到了spring boot版本和spring cloud版本,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01

最新評論

凤翔县| 宁武县| 芮城县| 岚皋县| 叶城县| 盐山县| 连州市| 筠连县| 长兴县| 和顺县| 黔西县| 二连浩特市| 昌都县| 磐安县| 阿克| 平远县| 黄大仙区| 巴青县| 百色市| 疏附县| 会泽县| 于田县| 潞城市| 方正县| 灯塔市| 巧家县| 荥经县| 榆树市| 丁青县| 仙居县| 开远市| 武川县| 二手房| 宜君县| 荣成市| 兴安县| 安阳县| 太湖县| 屏边| 达日县| 平邑县|