首先看一下student表内容
student表的结构信息
具体代码:
package jdbc处理结果集;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//注意:我这里的端口号是3308,一般的MySQL端口号是3306
String url = "jdbc:mysql://localhost:3308/my_student";
String user = "root";
String password = "mysql";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
String sql = "select * from student";
rs = stmt.executeQuery(sql);
System.out.println("id\t\tname\tage\tsex\tclassId\tmajorId");
while(rs.next()) {
String id = rs.getString("id");
String sname = rs.getString("sname");
int age = rs.getInt("age");
String sex = rs.getString("sex");
int class_id = rs.getInt("class_id");
int major_id = rs.getInt("major_id");
System.out.println(id + "\t" + sname + "\t" + age + "\t" + sex + "\t" + class_id + "\t\t" + major_id);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
有几点需要注意的
1、如果取到的 rs 结果集里面没有元素,则 rs.next() = false;
2、rs 结果集默认是指向第一行内容之前的,也就是指向列信息。
3、使用之后,要记得close,即关闭资源。
最后运行结果是