0

我做了一个从我的 MySQL 数据库中请求列的方法。幸运的是,这是可行的,但我正在尝试访问返回值。因为我想访问 Voedingsmiddel 的 getter 和 setter。在方法内部创建了一个新的 Voedingsmiddel,然后返回。数据库的值被分配为 voedingsmiddel 的属性。这个方法是在我的数据库类中创建的,我试图在另一个类中访问它。

如果我试图在方法之外访问 voedingsmiddel,它给了我一个对象,而不是给我数据位置 Voedingsmiddel@6f7fd0e6。

  1. 我能够得到一些我想要得到的结果。我通过将 public Voedingsmiddel getVoedingsmiddelBijId 更改为 public double getVoedingsmiddelBijId 来实现它。我还更改了返回 voedingsmiddel;进入voedingsmiddel.getCalorieen;所以我能够得到1个吸气剂。

  2. 通过调用方法 Database.getVoedingsmiddelBijId(int).getCalorieen(); Intellij 告诉我以下内容(“Voedingsmiddel.getCalorieen()”的结果被忽略)。

    公共 Voedingsmiddel getVoedingsmiddelBijId(int idVoedingsmiddel){
            Voedingsmiddel voedingsmiddel = new Voedingsmiddel("", 0, 0,0,0,0);
            尝试 {
                字符串查询 =“从 voedingsmiddel 中选择 * idVoedingsmiddel = ?”;
                PreparedStatementprepareStatement = myCon.prepareStatement(query);
                PreparedStatement.setInt(1, idVoedingsmiddel);
                myRes =preparedStatement.executeQuery();
                而(myRes.next()){
                    int idvoedingsmiddel = myRes.getInt("idVoedingsmiddel");
                    String naam = myRes.getString("naam");
                    int gram = myRes.getInt("gram");
                    双卡路里= myRes.getDouble(“卡路里”);
                    双koolhydran = myRes.getDouble("koolhydran");
                    双 eiwitten = myRes.getDouble("eiwitten");
                    双 vetten = myRes.getDouble("vetten");

    voedingsmiddel = new Voedingsmiddel(naam, gram, calorieen, koolhydraten, eiwitten, vetten); System.out.println("idVoedingsmiddel " + idvoedingsmiddel + " naam " + naam + " gram " + gram + " calorieën " + calorieen + " koolhydraten " + koolhydraten + " eiwitten " + eiwitten + " vetten " + vetten); } } catch (Exception exc) { exc.printStackTrace(); System.out.println("Error: " + exc); } return voedingsmiddel; }

首先,如果有人可以解释我做错了什么,我将非常感激。此外,该问题的解决方案将更受欢迎!

预期的结果是该方法的返回值将是一个对象,而不是我认为的数据位置。所以我可以调用该对象的 getter 和 setter。

我有发布过多代码但信息不足的历史。所以我希望这会更好,如果不能随意纠正我。

4

0 回答 0