我正在开发一个小项目,现在我有一个问题。我需要在我的数据库中搜索具有相同流派的所有电影。我为这件事写了这个函数,但是效果不好。原则上,我希望找到的每个结果都能创建一个名为Movie的新对象并返回给他。我测试了我的功能,但是我有两部相同的电影,他只给我一个物体。而我的问题是为什么不将所有对象返回给我?他应该归还我的所有物品。Java JDBC选择记录
public Movie extraction(String Genre)throws SQLException{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from movies where genre='"+Genre+"'");
while(rs.next()){
String name=rs.getString("name");
String genre=rs.getString("genre");
int year=rs.getInt("year");
int metascore=rs.getInt("metascore");
System.out.println(name);
return new Movie(name,genre,year,metascore);
}
return null;
}
您在使用内循环'return',所以它退出在第一iteration.Add你的对象列表,而是和循环后返回列表。 – Berger
帮你一个忙,并了解PreparedStatement。你不应该选择*;拼出你想要的列。 – duffymo