当前位置: 首页 > 知识库问答 >
问题:

Java在MySQL数据库中的迭代

诸俊才
2023-03-14

java中使用JDBC,我试图连接到我在MySQL中创建的3个数据库。下面是每个数据库及其密钥的片段。左表标题为“下注,右表为“玩家”,下表为“排名”。

我想从表中提取每个玩家下注/下注1次的位置。

例如,一个简单的系统。出来println的意思是“对于赌注1,玩家(玩家id)进入(位置)并在玩家(玩家id)上下注”。

我已经做了一个简单的变化

String standingsTable = CreateStatement.CreateStatement("*", "standings", null);

PreparedStatement ps = connection.prepareStatement(standingsTable);
ResultSet rs = ps.executeQuery();

while (rs.next()) {
   int betsID = rs.getInt("bets_id");
   int playerID = rs.getInt("players_id");
   int position = rs.getInt("position");
   int playerBet = (rs.getInt("player_bet"));

   System.out.println("Bet " + betsID + " player " + playerID + " finished " + position + " and voted for " + playerBet ); }

然而,这将打印出以下结果

如果可能的话,我希望有一行是这样的

“下注1玩家1完成0并投票给3,玩家2完成1并投票给1,玩家3完成2并投票给2”。

因此,让每个玩家以一个单位记录每一次下注,而不是3个单独的条目。如果我说得不够清楚,请说出来,我会按照我的要求进一步澄清。

共有1个答案

胡新
2023-03-14

如果有相同的赌注,你想要分组玩家吗?如果这是正确的,请参阅下面的代码

        while (rs.next()) {
            int betsID = rs.getInt("bets_id");
            int playerID = rs.getInt("players_id");
            int position = rs.getInt("position");
            int playerBet = (rs.getInt("player_bet"));
            
            StringBuilder sb = null;
            
            if (records.containsKey(betsID)) {
                sb = records.get(betsID);
            } else {
                sb = new StringBuilder();
            }

            sb.append(" player " + playerID + " finished " + position + " and voted for " + playerBet);

            records.put(betsID, sb);
        }

        records.forEach((key, value) -> {
            System.out.println("Bets " + key + value);
        });
 类似资料:
  • 我已经使用 使用数据源连接数据库,但我们有50多个数据库。所以我想动态连接数据库。请帮帮我.

  • 问题内容: 您能帮忙解决这个问题吗? 我正在尝试创建然后使用一个名为TIGER的数据库。 如果我在MySQL中创建数据库并且运行完美,我没有问题。 我想做的是从Java创建它。这样,当首次运行代码时,它将在初始启动过程中创建数据库。如果可能的话,我想用一种干净的方法将其装箱。 有人可以告诉我您实际将代码放置在哪里 这是代码 这是创建数据库的代码 在此先感谢,感谢您的帮助。 因为我是一个长期读者但还

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好

  • 问题内容: 我尝试运行以下代码来创建 数据库备份, 但它显示了一些运行时错误。 但是,我尝试 在mysql shell中 运行 System.out.println()输出 部分(在给定的代码中已对此进行了注释) ,并且它可以正常工作 。 它显示io文件问题。请有人帮助我。 问题答案: 请检查您的Global PATH环境变量是否在其中包含 \ bin(执行 并查看)。有效地,您应该能够在Plai

  • 因此,Azure有三种SQL服务变体: > MySQL:https://azure.microsoft.com/en-in/services/mysql/ PostgreSQL:https://azure.microsoft.com/en-in/services/postgresql/ 我可以看到第一个SDKJava。是否有JavaSDK可用于MySQL/Postgres服务API? 也许这个问题

  • 本文向大家介绍java连接mysql数据库 java连接sql server数据库,包括了java连接mysql数据库 java连接sql server数据库的使用技巧和注意事项,需要的朋友参考一下 在java的应用中,我们经常会对数据库进行必要的操作,下来我们就了解一下如何用java连接mysql数据库 以及java连接sql server数据库 一、mysql 二、sql server 以上就