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