栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

从MYSQL数据库中查询三列(Mybatis-plus),将其放进二维数组中(java)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从MYSQL数据库中查询三列(Mybatis-plus),将其放进二维数组中(java)

记录做毕设时遇到的问题及解决办法,推荐算法,矩阵计算时要二维数组

首先我要从表中取出三个列,userid shopid eval

orderMapper中这样写,就是一个简单的查询

@Select("select user_id,shop_id,eval FROM t_order WHERe  state=1")
    List itemcforder();

我想做的是 userid为行 shopid为列的 eval评分为值的二维数组,看大家说用map什么的我不太明白,因为我的shopid和userid都可能分别有重复。(这是用户对购买的商品进行打分的记录)下面就看代码吧。

看完整代码吧

        List order = orderMapper.itemcforder();


        int k = 0;
        int sample = 0;
        List userid=new ArrayList();
        List shopid=new ArrayList();
        for(int i = 0; i < order.size();i++){
            boolean booluser = userid.contains(order.get(i).getUserId());
            if(!booluser){
                sample++;//有sample个用户
                userid.add(order.get(i).getUserId());
            }
            boolean boolshop = shopid.contains(order.get(i).getShopId());
            if(!boolshop){
                k++;//有k种商品
                shopid.add(order.get(i).getShopId());
            }

        }


        int[][] us = new int[sample][k];
        for (int i=0;i 

从数据库中查询出来userid和shopid后,定义两个list用来存放shopid和userid,上面那段for循环就是将数据库查询出来的userid和shopid放入自己定义的相应的list中,并记录大小,下面定义评分二维数组的时候方便使用,下面那段就是在评分数组us中填充值。如果us数组的i(userid)和j(shopid)对应的查询结果的userid和shopid就将其放入。(不用关心我的赋值~大家付自己的值就好。)

以上仅供参考,欢迎大家指点。(因为这个方法真的太笨了 (T.T)  )

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774973.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号