Result对象主要用于存储结果集,可以通过next()方法可以由前向后逐个获取结果集中的数据
在web—chapter09中的cn.itheima.jdbc中创建example03类,在该类中使用使用ResultSet对象取出指定数据的信息
package cn.itheima.jdbc.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class example03 {
public static void main(String[] args) {
Connection conn = null;
Statement stmt =null;
try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/jdbc";
String username = "root";
String password = "itcast";
//获得连接
conn = DriverManager.getConnection(url, username, password);
String sql = "select * from users";
//创建statement对象并设置常量 其中第一个参数表示结果集可滚动,第二个参数表示以只读方式打开结果集
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//创建结果集对象
ResultSet rs = stmt.executeQuery(sql);
System.out.println("第二条数据的名字:");
rs.absolute(2); //将结果集滚动到第二条数据
System.out.println(rs.getString("name"));
System.out.println("第四天数据的名字:");
rs.afterLast(); //将结果集滚动到最后一条之后
rs.previous(); //将结果集向前滚动一条
System.out.println(rs.getString("name"));
System.out.println("第一条数据的名字:");
rs.beforeFirst(); //将结果集滚动到第一条记录之前
rs.next(); //将结果集向后滚动一条
System.out.println(rs.getString("name"));
}catch (Exception e) {
e.printStackTrace();
}finally {
if(stmt!=null) {
try {
stmt.close();
}catch (SQLException e) {
e.printStackTrace();
}
stmt= null;
}
if(conn!=null) {
try {
conn.close();
}catch (SQLException e) {
e.printStackTrace();
}
conn= null;
}
}
}
}
之行之后的结果如下:
比对数据库文件: