我正在使用XAMPP-> Mysql创建数据库并使用Netbeans IDE 8.1来创建java
我的代码
//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秒)”
答案 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中,以免出现任何参考问题。
希望这有帮助!