数据库里存json数据
需求:
查询上个月每个人各个插件的总加分汇总为一个json存储到一个字段里
查询上个月每个组织机构插件的各个插件的总加分汇总为一个json存储到一个字段里
流程:
- 查询后返回结果是一个List集合,每一条记录的字段(user_id,plugin_id,分数)
- 定义一个大Hashmap[key–userId,value–(plugin_id,integral)]
- 定义一个小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数据相关推荐
- WordPress数据表wp-options数据字段存JSON数据
2019独角兽企业重金招聘Python工程师标准>>> wp_options表是WordPress中最重要的表,一切程序设置.主题设置和绝大多数插件的设置大都保存在此表. WordP ...
- 微信小程序引用本地js里的json数据
1.data.js(本地js里的json数据),位于项目更目录下 var data = [{"name": "女装","foods": [{ ...
- string类型比较_redis存json数据时选择string还是hash
我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储.接下来我从占用空间和IO两方面来分析这两种类型的优势. 1.占用空间 根据数据结构的共识我们知道hash ...
- mysql如何导入JSON数据-navigate管理数据库,导入JSON数据不显示。需要整体关闭再打开!
1,选中数据,右键.选择导入: 2,选择你要导入的文件格式.[这里我选择的是json] 3.下一步.选择你要导入的文件 [可以多选点,但是选择过多.好像直接崩溃啦.所以,适量即可!] 关于编码,如果选 ...
- mysql 5.6 json查询_mysql5.6及以下版本如何查询数据库里的json
MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面 下面说说mysql存储json注意那些格式吧: 1:注意保存是中文不要变成转码的,转码之后导致查询非常麻烦,压缩时候后面 ...
- vb6里解析json数据
vb6里不支持json对象,这里使用通过引用js来实现json的解析 获取简单的json串里的值 Dim ScriptObj As Object Dim JsonStr As String JsonS ...
- 反序列化存入数据库里面的session数据
session数据存取的方法可通过session.serialize_handler方法来判断,反序列化可通过下面的unserialize方法,参考http://stackoverflow.com/q ...
- 如何遍历newtonsoft.json的JObject里的JSON数据
这种问题,在网上搜,居然没有答案,又是一堆垃圾,连谷歌上都搜不到.老实说,我喜欢这边的工作环境,可以上谷歌,毕竟是大公司,有自己的VPN .--(不可说,非常不可说,此处省略一千字)--居然连谷歌都会 ...
- 如何让数据库里存的文章或者新闻内容,到页面上显得有条理,层次感
方法是一段话,如 数据结构 算法 这两段如果直接放到textarea,再放入数据库,会显示 数据结构(n个空格)算法 ,到页面上显示后就不是两段了,而是一段话,中间有很多空格 将这段话,放在 h ...
最新文章
- LeetCode 252. Meeting Rooms
- python基础学习1-列表使用
- android 监听webView滑动距离和标题栏颜色渐变
- python自己重启自己程序_python 自动重启本程序
- python按行读取文件效率高吗_Python按行读取文件的实现方法【小文件和大文件读取】...
- LNMP详解(六)——Nginx location语法详解
- paip.c++ cli 命令行 调用总结
- 数字媒体技术和数据科学与大数据技术_数据科学与大数据技术专业的女同学,迈出了她的舒适圈...
- Apache——阿帕奇简介
- 提升NexusPHP解析种子文件性能(优化benc.php)
- getvod.php_网站漏洞修复之苹果cms电影系统
- R3LIVE调试记录
- Android之微信界面设计
- GB、Gb、MB、Mb知识扫盲
- 探讨内容付费的本质和趋势
- 持安科技CEO何艺:零信任在实战攻防演练中的价值
- [影视推荐]黑客题材美剧—网络末日战
- 亲测解决INFO Validating config
- uniapp [微信小程序开发工具]?Enable IDE Service (y/N) ESC[27DESC[27C
- 华为很好,但我不愿再回去