关于Java连接数据库的问题

[code="java"]import java.sql.*;

public class MySQLtest{
Connection con = null;
public Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println ("数据库驱动加载成功!");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/StudentSystem","ms","123456");
System.out.println ("数据库连接成功!");
}
catch (ClassNotFoundException e1) {
System.out.println ("数据库驱动加载失败!");
}catch(SQLException e2){
System.out.println ("数据库连接失败!");
}
return con;
}

public static void main(String[] args){
    MySQLtest mysql = new MySQLtest();
    mysql.getConnection();
    try {
        Statement sql = mysql.con.createStatement();
        ResultSet result = sql.executeQuery("Select * from studentinformation");
        while(result.next()){
            System.out.print (result.getString(1)+"  ");
            System.out.print (result.getString(2)+"  ");
            System.out.print (result.getString(3)+"  ");
            System.out.print (result.getString(4)+"  ");
            System.out.print (result.getString(5)+"  ");
            System.out.print (result.getString(6)+"  ");
            System.out.println ();
        }
        result.close();
        sql.close();
    }
    catch (Exception ex) {
        ex.printStackTrace();
    }
}

}[/code]

运行时候会出现错误:
数据库驱动加载成功!
数据库连接失败!
java.lang.NullPointerException
at MySQLtest.main(MySQLtest.java:24)
可能是连接数据库时候发生的错误,已经能够确定用户名密码正确,求解答,本人新手,如果问题低端请谅解。

5个回答

我明白你的问题了,前两天有人提过这个问题的,你看看吧——[url=http://www.iteye.com/problems/65429]MYSQL的10061错误[/url]

检查下ms这个用户有没有被赋予远程连接的权限吧,估计是没有。
还有,建议打印出异常栈,否则这样抛出问题,让别人只能靠猜的。 :)

首先ping localhost看能否ping通,如果能,则是其他问题,否则可能是hosts绑定的问题。
是否是hosts绑定的问题,可以检查下hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),看看里面的localhost配置的是啥,改成
[code="hosts"]127.0.0.1 localhost[/code]
试试。

这个同学的经历可能对你有帮助——http://hi.baidu.com/sodarfish/blog/item/f56f1f6e173926de80cb4ad9.html

java.lang.NullPointerException
at MySQLtest.main(MySQLtest.java:24)
说明24行有错误,而且是空异常,说明Statement sql = mysql.con.createStatement(); 中的mysql.con为空,才会引发异常的,你应该这样写
public static void main(String[] args){

MySQLtest mysql = new MySQLtest();

Connection conn=mysql.getConnection();

try {

Statement sql = conn.createStatement();

ResultSet result = sql.executeQuery("Select * from studentinformation");

。。。。。
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问