让我尝试说明我如何确切地得到此错误。
我credentials在数据库中表
凭证表
我有CredentialsEntity.java类
...
@Entity
@Table(name = "credentials", schema = "project")
public class CredentialsEntity {
private int id;
private String userName;
private String password;
...
我也有DBConnect.java类,其中的一部分是
public static List<CredentialsEntity> list(String query){
List<CredentialsEntity> credencials = new ArrayList<>();
try (
Connection conn = DriverManager.getConnection(DEFAULT_DB_URL, DEFAULT_user, DEFAULT_pass);
PreparedStatement preparedStatement = conn.prepareStatement(query);
ResultSet resultSet = preparedStatement.executeQuery(query)
){
while (resultSet.next()){
CredentialsEntity credentialsEntity = new CredentialsEntity();
credentialsEntity.setId(resultSet.getInt("id"));
credentialsEntity.setUserName(resultSet.getString("userName"));
credentialsEntity.setPassword(resultSet.getString("password"));
credencials.add(credentialsEntity);
}
}catch (Exception ex){
System.out.print("Error" + ex);
}
return credencials;
}
在Main.java中,我这样调用DBConnect.list
query = "select * from credentials";
List<CredentialsEntity> credentials = DBConnect.list(query);
System.out.print(credentials.toString() + "\n");
错误是:
Errorjava.sql.SQLException: Can not issue data manipulation statements with executeQuery().
因此,我正在正确连接到数据库,并且正在正确更新表。问题在于将数据库记录保存到ArrayList中。我不知道为什么我不能通过executeQuery()
如果您还有其他疑问,可以通过https://github.com/DawidGrzejek/TheChoosenOne询问或检查完整代码
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。