我已经提出了一种从我的MySQL数据库请求一列的方法。幸运的是,这是可行的,但是我正在尝试获取返回值。因为我想加入Voedingsmiddel的getter和setter。在方法内部创建一个新的Voedingsmiddel,然后将其返回。数据库的值被指定为voedingsmiddel的属性。此方法是在我的数据库类中创建的,而我试图在另一个类中进行访问。
如果我试图在方法之外访问voedingsmiddel,那就是给我一个对象,而是给了我Voedingsmiddel @ 6f7fd0e6数据位置。
我能够得到一些我想要得到的结果。我是通过将公共Voedingsmiddel getVoedingsmiddelBijId更改为公共double getVoedingsmiddelBijId来实现的。我还更改了return voedingsmiddel;进入voedingsmiddel.getCalorieen;这样我就能得到1个吸气剂。
通过调用方法Database.getVoedingsmiddelBijId(int).getCalorieen(); Intellij告诉我以下内容(“ Voedingsmiddel.getCalorieen()”的结果将被忽略)。
public Voedingsmiddel getVoedingsmiddelBijId(int idVoedingsmiddel) {
Voedingsmiddel voedingsmiddel = new Voedingsmiddel("", 0, 0,0,0,0);
try {
String query = "select * from voedingsmiddel where idVoedingsmiddel = ?";
PreparedStatement preparedStatement = myCon.prepareStatement(query);
preparedStatement.setInt(1, idVoedingsmiddel);
myRes = preparedStatement.executeQuery();
while (myRes.next()) {
int idvoedingsmiddel = myRes.getInt("idVoedingsmiddel");
String naam = myRes.getString("naam");
int gram = myRes.getInt("gram");
double calorieen = myRes.getDouble("calorieën");
double koolhydraten = myRes.getDouble("koolhydraten");
double eiwitten = myRes.getDouble("eiwitten");
double 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方法。
我有发布过多代码而没有足够信息的历史。所以我希望这会更好,即使不能随意纠正我。