需求:
查询上个月每个人各个插件的总加分汇总为一个json存储到一个字段里

查询上个月每个组织机构插件的各个插件的总加分汇总为一个json存储到一个字段里

流程:

  1. 查询后返回结果是一个List集合,每一条记录的字段(user_id,plugin_id,分数)
  2. 定义一个大Hashmap[key–userId,value–(plugin_id,integral)]
  3. 定义一个小Hashmap[key–plugin_id,value–ntegral]
    流程图:

    最终的结果:
    查询上个月每个人各个插件的总加分汇总为一个json存储到一个字段里

    查询上个月每个组织机构插件的各个插件的总加分汇总为一个json存储到一个字段里

注意:在判断的过程中注意一下逻辑既可以了
核心代码:

        //查询本月插件加分List<QueryMonthPluginModel> queryMonthPlugin = integralDetailDao.QueryMonthPlugin();//更新本月插件加分//定义一个HashMap用来存放queryMonthPlugin遍历结果[key-userid value(plugin_id,integral)]HashMap<String, HashMap> MonthPluginHashMaps = new HashMap<String, HashMap>();//实例化一个model(plugin_id,integral)MonthPluginSumModel monthPluginSumModel = new MonthPluginSumModel();//定义一个HashMap用来存放遍历内容 插件(key)-加分(value)HashMap<String, Integer> MonthPluginHashMap = new HashMap<String, Integer>();//实例化一个UserIdString USERID = "1";//for(Iterator<QueryMonthPluginModel> it = queryMonthPlugin.iterator(); it.hasNext();  )  {}for (QueryMonthPluginModel queryMonthPluginModel : queryMonthPlugin) {//得带外层Hashmap(MonthPluginHashMaps)的key值-userIdString userId = queryMonthPluginModel.getUserId();//判断外层HashMap里有没有这个人的UserIdboolean Istrue = userId.equals(USERID);//boolean isFalse = USERID.equals(userId);if (Istrue) {MonthPluginHashMap.put(queryMonthPluginModel.getPluginId(), queryMonthPluginModel.getSumIntegral());} else {//nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'MonthHashmapModel' in 'class com.tfjybj.integral.model.MonthHashmapModel'//如果外层HashMap里不包含这个这个人的UserId//将这个人的keyValue(userId,pluginId-integral)存到数据库中//将这个人的keyValue pluginId-integral转为Json格式boolean Istrueoffalse = USERID.equals("1");if (!USERID.equals("1")) {String HashJson = JSONUtils.toJSONString(MonthPluginHashMap);MonthHashmapModel monthHashmapModel = new MonthHashmapModel();monthHashmapModel.setUserId(USERID);monthHashmapModel.setPluginJson(HashJson);monthIntegralDao.UpdateMonthPlugin(monthHashmapModel);}MonthPluginHashMap.clear();MonthPluginHashMap.put(queryMonthPluginModel.getPluginId(), queryMonthPluginModel.getSumIntegral());MonthPluginHashMaps.put(userId, MonthPluginHashMap);USERID = userId;}}

数据库里存json数据相关推荐

  1. WordPress数据表wp-options数据字段存JSON数据

    2019独角兽企业重金招聘Python工程师标准>>> wp_options表是WordPress中最重要的表,一切程序设置.主题设置和绝大多数插件的设置大都保存在此表. WordP ...

  2. 微信小程序引用本地js里的json数据

    1.data.js(本地js里的json数据),位于项目更目录下 var data = [{"name": "女装","foods": [{ ...

  3. string类型比较_redis存json数据时选择string还是hash

    我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储.接下来我从占用空间和IO两方面来分析这两种类型的优势. 1.占用空间 根据数据结构的共识我们知道hash ...

  4. mysql如何导入JSON数据-navigate管理数据库,导入JSON数据不显示。需要整体关闭再打开!

    1,选中数据,右键.选择导入: 2,选择你要导入的文件格式.[这里我选择的是json] 3.下一步.选择你要导入的文件 [可以多选点,但是选择过多.好像直接崩溃啦.所以,适量即可!] 关于编码,如果选 ...

  5. mysql 5.6 json查询_mysql5.6及以下版本如何查询数据库里的json

    MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面 下面说说mysql存储json注意那些格式吧: 1:注意保存是中文不要变成转码的,转码之后导致查询非常麻烦,压缩时候后面 ...

  6. vb6里解析json数据

    vb6里不支持json对象,这里使用通过引用js来实现json的解析 获取简单的json串里的值 Dim ScriptObj As Object Dim JsonStr As String JsonS ...

  7. 反序列化存入数据库里面的session数据

    session数据存取的方法可通过session.serialize_handler方法来判断,反序列化可通过下面的unserialize方法,参考http://stackoverflow.com/q ...

  8. 如何遍历newtonsoft.json的JObject里的JSON数据

    这种问题,在网上搜,居然没有答案,又是一堆垃圾,连谷歌上都搜不到.老实说,我喜欢这边的工作环境,可以上谷歌,毕竟是大公司,有自己的VPN .--(不可说,非常不可说,此处省略一千字)--居然连谷歌都会 ...

  9. 如何让数据库里存的文章或者新闻内容,到页面上显得有条理,层次感

    方法是一段话,如 数据结构 算法 这两段如果直接放到textarea,再放入数据库,会显示  数据结构(n个空格)算法   ,到页面上显示后就不是两段了,而是一段话,中间有很多空格 将这段话,放在 h ...

最新文章

  1. LeetCode 252. Meeting Rooms
  2. python基础学习1-列表使用
  3. android 监听webView滑动距离和标题栏颜色渐变
  4. python自己重启自己程序_python 自动重启本程序
  5. python按行读取文件效率高吗_Python按行读取文件的实现方法【小文件和大文件读取】...
  6. LNMP详解(六)——Nginx location语法详解
  7. paip.c++ cli 命令行 调用总结
  8. 数字媒体技术和数据科学与大数据技术_数据科学与大数据技术专业的女同学,迈出了她的舒适圈...
  9. Apache——阿帕奇简介
  10. 提升NexusPHP解析种子文件性能(优化benc.php)
  11. getvod.php_网站漏洞修复之苹果cms电影系统
  12. R3LIVE调试记录
  13. Android之微信界面设计
  14. GB、Gb、MB、Mb知识扫盲
  15. 探讨内容付费的本质和趋势
  16. 持安科技CEO何艺:零信任在实战攻防演练中的价值
  17. [影视推荐]黑客题材美剧—网络末日战
  18. 亲测解决INFO Validating config
  19. uniapp [微信小程序开发工具]?Enable IDE Service (y/N) ESC[27DESC[27C
  20. 华为很好,但我不愿再回去

热门文章

  1. 简单介绍互联网领域选择与营销方法
  2. 2022-2028年中国TCO导电玻璃行业市场研究分析及前瞻规划报告
  3. axmath公式编辑器
  4. 从底层吃透java内存模型(JMM)、volatile、CAS
  5. 第三天:Vue的组件化
  6. LeetCode简单题之词典中最长的单词
  7. LLVM数据流分析的理论
  8. deeplearning模型分析
  9. 适用于Windows和Linux的Yolo-v3和Yolo-v2(下)
  10. 高精地图与自动驾驶(下)