ResultSet接口的afterLast()方法将光标/指针移动到ResultSet对象的最后一行之后。rs.afterLast();
假设我们有一个表名数据集,如下所示:+--------------+-----------+
| mobile_brand | unit_sale |
+--------------+-----------+
| Iphone | 3000 |
| Samsung | 4000 |
| Nokia | 5000 |
| Vivo | 1500 |
| Oppo | 900 |
| MI | 6400 |
| MotoG | 4360 |
| Lenovo | 4100 |
| RedMi | 4000 |
| MotoG | 4360 |
| OnePlus | 6334 |
+--------------+-----------+
以下示例演示了双向ResultSet的创建。在这里,我们试图创建一个双向ResultSet对象,该对象从表名数据集中检索数据,并且试图从最后到第一打印数据集表的行。import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class BidirectionalResultSet {
public static void main(String args[]) throws Exception {
//注册驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获得连接
String mysqlUrl = "jdbc:mysql://localhost/TestDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//创建一个Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
//检索数据
ResultSet rs = stmt.executeQuery("select * from Dataset");
rs.afterLast();
System.out.println("Contents of the table");
while(rs.previous()) {
System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
System.out.print("Sale: "+rs.getString("Unit_Sale"));
System.out.println("");
}
}
}
输出结果Connection established......
Contents of the table
Brand: Vivo, Sale: 1500
Brand: Nokia, Sale: 5000
Brand: Samsung, Sale: 4000
Brand: IPhone, Sale: 3000