Java 连接到数据库时出现空指针异常

Java 连接到数据库时出现空指针异常,java,mysql,Java,Mysql,所以我正试图从java连接到我的数据库,我在Eclipse中工作,我在线观看了一个教程,一切似乎都运行得很好!!。。但当我想连接appache服务器上的另一个数据库时。。程序开始运行。。但是几分钟内什么也没发生。。然后我得到空指针异常消息。。 在第行:st=con.createStatement(); 代码如下: package database_console; import java.sql.* public class DBConnect { private Conn

所以我正试图从java连接到我的数据库,我在Eclipse中工作,我在线观看了一个教程,一切似乎都运行得很好!!。。但当我想连接appache服务器上的另一个数据库时。。程序开始运行。。但是几分钟内什么也没发生。。然后我得到空指针异常消息。。 在第行:st=con.createStatement(); 代码如下:

package database_console;    

import java.sql.*    

public class DBConnect {
private  Connection con;
private  Statement st;
private ResultSet rs;

public DBConnect(){

    try {
        Class.forName("com.mysql.jdbc.Driver");


            try {
                con = DriverManager.getConnection("jdbc:mysql://localhost:80/mysql", "root", "admin");
                st = con.createStatement();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

// to retrieve the results and print them out
public void getData(){

    String query = "select DB from db";
    try {
        rs = st.executeQuery(query);
        System.out.print("Records from Database");

        while (rs.next()){
            String DB = rs.getString("DB");
            //String name = rs.getString("name");
            //String password = rs.getString("password");
            //int id = rs.getInt("id");
            //System.out.print("ID: "+id+" Name: "+name+" password: "+password+"");
            System.out.print("DB: " + DB );
        }
        st.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
稍后,我将从另一个类调用getData()函数,其中main()为:

你能帮我找出我的代码出了什么问题吗?
谢谢。

我注意到您正在尝试连接端口80,即“jdbc:mysql://localhost:80/mysql". 这对于mysql来说是非常不寻常的。端口80是标准http端口。mysql的标准端口是3306。很确定这就是您的问题。

在创建连接对象时,控制台中必须存在异常,这导致语句对象未初始化,并且在尝试从语句对象创建ResultSet对象时导致NullPointException


原因应该是您使用80作为端口,而MySQL的默认端口是3306。在这种情况下,您无法创建连接对象。

请检查您的连接详细信息-主机URL、用户名和密码。

NullPointerException跟踪将导致您出现故障。粘贴完整异常跟踪可能您没有My SQL jar,但是请把stacck跟踪贴到第行,你得到了一个非常有用的例外情况:谢谢你,我修好了,它可以工作了:)没问题,很高兴它现在可以工作了
package database_console;

import java.io.IOException;

public class Main {

public static void main(String[] args){
    DBConnect connect = new DBConnect();
    connect.getData();
}