【问题标题】:GetConnection always retun NULL value , JAVA11GetConnection 总是返回 NULL 值,JAVA 11
【发布时间】:2020-04-09 13:44:32
【问题描述】:

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

谢谢你们的时间。

【问题讨论】:

    标签: java mysql netbeans xampp


    【解决方案1】:

    考虑这段代码

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

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

    【讨论】:

    • getConnection 方法返回的变量与 'Conexion' 方法中打印的变量相同,我的意思是这两个方法使用相同的变量,所以 getConnection 方法应该返回一个有效的连接,对吗?跨度>
    • @ScaryWombat 我感到很惭愧真的哈哈哈谢谢你的时间 ILV
    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 2016-03-11
    • 2010-11-05
    • 1970-01-01
    • 2014-03-04
    相关资源
    最近更新 更多