首页 > 解决方案 > java.lang.NullPointerException:无法调用“java.sql.Connection.prepareStatement(String)”返回值 null

问题描述

我对编程和尝试使用 HTML 连接到数据库相当陌生,在这种情况下,我使用 Wildfly、Apache NB 和 Derby,在本地托管,问题是在我尝试登录后浏览器给了我以下错误使用我在数据库中创建的凭据:[登录屏幕1

错误

java.lang.NullPointerException:无法调用“java.sql.Connection.prepareStatement(String)”,因为“model.Conexion.getConexion()”的返回值为 null

所以我去 NB Conexion.java 检查吸气剂,但我似乎找不到这里的问题是代码。

此外,我已经尝试过使用不同版本的 JDK,更具体地说是 u144 和 u271 使用 GlassFish5、Payara 和 Wildfly 尝试过,但仍然没有运气。

我真的很感激这方面的任何帮助,因为我的学期很大程度上取决于这个

package model;

import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Conexion {

    private static Conexion conexion;
    private static final String BDURL= "jdbc:derby://localhost:1527/proyectohtml;user=ROOT;password=1234";
    private static Connection conn;

    private Conexion(){
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver").getDeclaredConstructor().newInstance();
            conn=DriverManager.getConnection(BDURL);
        } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | SQLException ex) {
            Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);
        }    
    }

    public static synchronized Connection getConexion() {
        if (conexion==null) {
            conexion=new Conexion();
        }
        return conn;
    }
}

标签: javahtmldatabasederby

解决方案


推荐阅读