我在ubuntu 18.04.3上使用OpenJDK11和Netbeand IDE 11.0
我有一种方法可以将应用程序连接到数据库,就像这样
Connection connection ;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
public boolean Conexion(String user,String pass){
try {
Class.forName(driver);
connection = (Connection) DriverManager.getConnection(url,user,pass);
System.out.println(connection);
return true;
} catch (ClassNotFoundException | SQLException ex) {
return false;
}
}
我也有另一种方法来获得连接
public Connection getConnection(){
return connection;
}
但是当我尝试这样做时
public class principal extends Conexion {
public static void main(String[] args) {
if (new Conexion().Conexion("root", "")) {
System.out.println(new Conexion().getConnection());
}
}
}
我得到这个输出
run:
com.mysql.jdbc.JDBC4Connection@4141d797
null
BUILD SUCCESSFUL (total time: 2 seconds)
我使用连接方法作为登录名,
该用户有一个登录屏幕,您必须在其中输入您的用户名和密码,如果该用户在xampp服务器中注册,则可以输入,并且在示例中,我输入了xampp的用户名和默认密码,起初它可以工作,但是getConnection方法返回null,我不明白为什么。
谢谢您的时间。
最佳答案
考虑这段代码
if (new Conexion().Conexion("root", "")) {
System.out.println(new Conexion().getConnection());
}
第一个
Conexion
对象与第二个对象不同-因此getConnection()
的返回值尚未初始化