// 示例代码:使用JDBC中的ResultSet的Cursor操作
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CursorExample {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 注册JDBC驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 打开连接
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String password = "password";
conn = DriverManager.getConnection(url, user, password);
// 3. 创建Statement对象,设置结果集为可滚动类型
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
// 4. 执行查询
String sql = "SELECT id, name FROM users";
rs = stmt.executeQuery(sql);
// 5. 使用游标遍历结果集
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
// 6. 使用游标定位到特定行(例如第3行)
if (rs.absolute(3)) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("Positioned at row 3: ID: " + id + ", Name: " + name);
}
// 7. 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Class.forName()方法加载MySQL的JDBC驱动。DriverManager.getConnection()方法建立与数据库的连接。Statement对象,并指定结果集为可滚动类型(ResultSet.TYPE_SCROLL_INSENSITIVE)和只读模式(ResultSet.CONCUR_READ_ONLY)。executeQuery()方法执行SQL查询语句。rs.next()方法逐行遍历结果集,并获取每一行的数据。rs.absolute(3)方法将游标定位到结果集的第3行,并读取该行的数据。ResultSet、Statement和Connection对象,以释放资源。如果你需要更多关于游标的详细信息或有其他问题,请告诉我!
上一篇:java 拼接字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站