到mysql数据库的java连接,nullpointerexception

1qczuiv0  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(424)

我想用java连接到mysql serwer(不安装额外的扩展),我得到了“java.lang.nullpointerexception”错误。以下是我的主要代码:

  1. package sqlconnect;
  2. public class SQLcONNECT {
  3. public static void main(String[] args) {
  4. DBConnect connect = new DBConnect();
  5. connect.getData();
  6. }
  7. }

和数据库连接:

  1. package sqlconnect;
  2. //https://dev.mysql.com/downloads/connector/j/
  3. import java.sql.*;
  4. public class DBConnect {
  5. private Connection con;
  6. private Statement st;
  7. private ResultSet rs;
  8. String Query = "SELECT * FROM uczniowie;" ;
  9. public void DBConnect()
  10. {
  11. try{
  12. Class.forName("com.mysql.jdbc.Driver") ;
  13. con = DriverManager.getConnection("jdbc:mysql://serwer:port/BaseName","login","passwd");
  14. }catch(Exception ex){
  15. System.err.println(ex);
  16. }
  17. }
  18. public void getData()
  19. {
  20. try
  21. {
  22. st = con.createStatement();
  23. rs = st.executeQuery(Query);
  24. System.out.println("Rows from Table:");
  25. while(rs.next())
  26. {
  27. String Uczen = rs.getString("Uczen");
  28. String CzyZda = rs.getString("CzyZda");
  29. String Ocena = rs.getString("Ocena");
  30. System.out.println("Uczen: " + Uczen +" "+ "CzyZda: "+ CzyZda+"Ocena: "+Ocena);
  31. }
  32. }
  33. catch(Exception ex)
  34. {
  35. System.err.println(ex);
  36. }
  37. } }

什么是问题,我能做些什么来解决这个问题?

aoyhnmkz

aoyhnmkz1#

  1. public void DBConnect()

这不是一个构造函数:它是一个常规方法。这永远不会被调用,因为您没有显式地调用它。
拆下 void .
另外,不要抓住 Exception . 只需添加 throws Exception (或者,希望是一个更具体的例外)的方法签名。否则,您可能会得到一个无效的、不可用的类示例。

  1. public DBConnect() throws Exception
  2. {
  3. Class.forName("com.mysql.jdbc.Driver") ;
  4. con = DriverManager.getConnection("jdbc:mysql://serwer:port/BaseName","login","passwd");
  5. }

相关问题