GetConnection总是重新调整NULL值,JAVA11

时间:2019-12-17 04:44:07

标签: java mysql netbeans xampp

在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,我不明白为什么。

谢谢你的陪伴。

1 个答案:

答案 0 :(得分:2)

考虑此代码

if (new Conexion().Conexion("root", "")) {
    System.out.println(new Conexion().getConnection());
}

第一个Conexion对象与第二个对象不同-因此getConnection()的返回值尚未初始化