欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis中存儲(chǔ)list<map>,list<entity>的處理

 更新時(shí)間:2024年06月20日 11:30:46   作者:geekmice  
本文主要介紹了redis中存儲(chǔ)list<map>,list<entity>的處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

用到的工具類(lèi)

1、序列化操作

String multiMapStr = JSON.toJSONString(multiMapList); // list轉(zhuǎn)換為json字符串
Object o = JSON.parse(userList); // list轉(zhuǎn)換為object
List<Map<String, String>> maps = CastBeanUtil.castListMap(JSON.parse(userList), String.class, String.class);// object轉(zhuǎn)換list
List tzAreas = JSON.parseArray(res, TzArea.class); // 反序列化,json字符串轉(zhuǎn)換為list

2、object轉(zhuǎn)換為指定類(lèi)型的map或者其他類(lèi)型

使用如下工具類(lèi),可以將object轉(zhuǎn)換為list《map》

package com.geekmice.springbootselfexercise.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @BelongsProject: spring-boot-self-exercise
 * @BelongsPackage: com.geekmice.springbootselfexercise.utils
 * @Author: pingmingbo
 * @CreateTime: 2023-12-09  15:34
 * @Description: 緩存工具類(lèi)
 * @Version: 1.0
 */
public class CastBeanUtil {

    private CastBeanUtil() {
    }

    /**
     * Json.parseArray返回object需要轉(zhuǎn)換,該方法可以轉(zhuǎn)換為字符串類(lèi)型或者其他引用類(lèi)型
     * 問(wèn)題:雙層for循環(huán)
     * @param obj 源數(shù)據(jù)
     * @param kCalzz key對(duì)應(yīng)class類(lèi)型
     * @param vCalzz value對(duì)應(yīng)class類(lèi)型
     * @param <K>key類(lèi)型
     * @param <V>value類(lèi)型
     * @return list<map>
     */
    public static <K, V> List<Map<K, V>> castListMap(Object obj, Class<K> kCalzz, Class<V> vCalzz) {
        List<Map<K, V>> result = new ArrayList<>();
        if (obj instanceof List<?>) {
            for (Object mapObj : (List<?>) obj) {
                if (mapObj instanceof Map<?, ?>) {
                    Map<K, V> map = new HashMap<>(16);
                    for (Map.Entry<?, ?> entry : ((Map<?, ?>) mapObj).entrySet()) {
                        map.put(kCalzz.cast(entry.getKey()), vCalzz.cast(entry.getValue()));
                    }
                    result.add(map);
                }
            }
            return result;
        }
        return null;
    }

}

通過(guò)字符串類(lèi)型處理

list《map》形式
key:字符串
val:序列化過(guò)的字符串

List<Map<String, String>> multiMapList = Lists.newArrayList();
for (int i = 0; i < 5; i++) {
     LinkedHashMap<String, String> itemMap = Maps.newLinkedHashMap();
     itemMap.put("name", "jack" + i);
     if (i % 2 == 0) {
         itemMap.put("age", String.valueOf(10 + i));
         itemMap.put("sex", "男");
     } else {
         itemMap.put("age", String.valueOf(11 + i));
         itemMap.put("sex", "女");
     }
     multiMapList.add(itemMap);
 }
String multiMapStr = JSON.toJSONString(multiMapList);
client.opsForValue().set("str:multiusers", multiMapStr, DateConstant.TIME_OF_DAY, TimeUnit.SECONDS);
String userList = client.opsForValue().get("str:multiusers");
List<Map<String, String>> maps = CastBeanUtil.castListMap(JSON.parse(userList), String.class, String.class);
log.info("maps : [{}]", maps);

list《entity》結(jié)構(gòu)數(shù)據(jù)

List<TzArea> areaList = Lists.newArrayList();
 for (int i = 0; i < 10; i++) {
     TzArea item = new TzArea();
     item.setAreaId((long) i);
     item.setAreaName("江蘇省");
     item.setLevel(1);
     item.setParentId(1L);
     areaList.add(item);
 }

 client.opsForValue().set("str:multiareas", JSON.toJSONString(areaList), DateConstant.TIME_OF_DAY, TimeUnit.SECONDS);
 String res = client.opsForValue().get("str:multiareas");
 List<TzArea> tzAreas = JSON.parseArray(res, TzArea.class);
 log.info("tzAreas : [{}]", JSON.toJSONString(tzAreas));

到此這篇關(guān)于redis中存儲(chǔ)list<map>,list<entity>的處理的文章就介紹到這了,更多相關(guān)redis list<map> list<entity>內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Spring Boot 非web應(yīng)用程序的實(shí)現(xiàn)

    Spring Boot 非web應(yīng)用程序的實(shí)現(xiàn)

    SpringBoot框架中,要?jiǎng)?chuàng)建一個(gè)非Web應(yīng)用程序(純 Java 程序),有兩種方式,下面就來(lái)介紹一下,感興趣的可以來(lái)了解一下
    2025-03-03
  • spring boot接收請(qǐng)求常用注解示例詳解

    spring boot接收請(qǐng)求常用注解示例詳解

    這篇文章介紹了Spring Boot中常用的接收請(qǐng)求的注解,包括`@RequestBody`、`@PathVariable`、`@RequestParam`和`@DateTimeFormat`,并提供了每個(gè)注解的示例,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • SpringBoot中Controller的傳參方式詳細(xì)講解

    SpringBoot中Controller的傳參方式詳細(xì)講解

    這篇文章主要介紹了SpringBoot在Controller層接收參數(shù)的常用方法,Controller接收參數(shù)的常用方式總體可以分為三類(lèi),第一類(lèi)是Get請(qǐng)求通過(guò)拼接url進(jìn)行傳遞,第二類(lèi)是Post請(qǐng)求通過(guò)請(qǐng)求體進(jìn)行傳遞,第三類(lèi)是通過(guò)請(qǐng)求頭部進(jìn)行參數(shù)傳遞,下面我們來(lái)詳細(xì)看看
    2023-01-01
  • SpringBoot攔截器實(shí)現(xiàn)登錄攔截的方法示例

    SpringBoot攔截器實(shí)現(xiàn)登錄攔截的方法示例

    這篇文章主要介紹了SpringBoot攔截器實(shí)現(xiàn)登錄攔截的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java多線(xiàn)程編程之使用thread類(lèi)創(chuàng)建線(xiàn)程

    java多線(xiàn)程編程之使用thread類(lèi)創(chuàng)建線(xiàn)程

    在Java中創(chuàng)建線(xiàn)程有兩種方法:使用Thread類(lèi)和使用Runnable接口。在使用Runnable接口時(shí)需要建立一個(gè)Thread實(shí)例
    2014-01-01
  • Java redisson實(shí)現(xiàn)分布式鎖原理詳解

    Java redisson實(shí)現(xiàn)分布式鎖原理詳解

    這篇文章主要介紹了Java redisson實(shí)現(xiàn)分布式鎖原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot后端驗(yàn)證碼的實(shí)現(xiàn)示例

    SpringBoot后端驗(yàn)證碼的實(shí)現(xiàn)示例

    為了防止網(wǎng)站的用戶(hù)被通過(guò)密碼典爆破,引入驗(yàn)證碼的功能是十分有必要的,本文主要介紹了SpringBoot后端驗(yàn)證碼的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • IDEA常用插件之類(lèi)Jar包搜索Maven Search解讀

    IDEA常用插件之類(lèi)Jar包搜索Maven Search解讀

    文章介紹了IDEA常用插件MavenSearch的使用方法,該插件可以幫助用戶(hù)快速查找和瀏覽Maven中央存儲(chǔ)庫(kù)中可用的依賴(lài)項(xiàng)和插件,方便用戶(hù)管理項(xiàng)目依賴(lài)項(xiàng)
    2025-01-01
  • SpringBoot+RabbitMq具體使用的幾種姿勢(shì)

    SpringBoot+RabbitMq具體使用的幾種姿勢(shì)

    這篇文章主要介紹了SpringBoot+RabbitMq具體使用的幾種姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 如何利用Spring?Boot?監(jiān)控?SQL?運(yùn)行情況

    如何利用Spring?Boot?監(jiān)控?SQL?運(yùn)行情況

    這篇文章主要介紹了如何利用Spring?Boot監(jiān)控SQL運(yùn)行情況,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07

最新評(píng)論