无法在XAMPP上显示数据库 - > mysql到java

时间:2016-11-25 03:53:57

标签: java mysql jdbc xampp

我正在使用XAMPP-> Mysql创建数据库并使用Netbeans IDE 8.1来创建java

My XAMPP Control Panel pic

Student database pic

我的代码

//default package
//1st step
import java.sql.*;

public class DemoJDBC {

    public static void main(String[] args) {
        try{
          String Query = "Select * from Student";
          //2nd step  
            Class.forName("com.mysql.jdbc.Driver");
          //3rd step
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "0");
          //4th step
            Statement st = con.createStatement();
          //5th step
            ResultSet rs = st.executeQuery(Query);
            rs.next();
            String name = rs.getString("sname");
            System.out.println(name);

          //6th step
          con.close();
        }
        catch (Exception e){

        }
    }

}

为什么它没有显示输出名称?它只是表明 “在netbeans输出中建立成功(总时间:1秒)”

2 个答案:

答案 0 :(得分:1)

您需要遍历ResultSet以获取元组或行。因此,在循环时,您可以检索要获取的任何数据或字段。尝试:

    public static void main(String[] args) {
        try {
            String Query = "Select * from Student";
            //2nd step  
            Class.forName("com.mysql.jdbc.Driver");
            //3rd step
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "0");
            //4th step
            Statement st = con.createStatement();
            //5th step
            ResultSet rs = st.executeQuery(Query);

            //Loop to retrieve tuple(s) from the ResultSet rs
            while (rs.next()) {
                String name = rs.getString("sname");
                System.out.println(name);
            }

            //6th step
            con.close();
        } catch (Exception e) {

        }
    }

注意如果默认情况下您没有更改root用户的密码,那么它只是空字符串(因此""而不是"0")。除此之外,你知道自己在做什么。

答案 1 :(得分:0)

除了纠正代码以循环遍历ResultSet之外,您还需要更正连接字符串,如下所示:

考虑到你的MySQL运行在默认的MySQL端口3306上(我看到你已经是),需要更新连接字符串。

还看到用户root的密码是' 0',它真的是密码吗?

public static void main(String[] args) {
    try {
        String query = "SELECT * FROM Student";
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "0");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(query);

        //Loop to retrieve tuple(s) from the ResultSet rs
        while (rs.next()) {
            String name = rs.getString("sname");
            System.out.println(name);
        }
        con.close();
    } catch (Exception e) {
    }
}

还要确保您的MySQL Connector/J jar文件出现在CLASSPATH中,以免出现任何参考问题。

希望这有帮助!