JDBC3 -滚动结果集

默认的ResultSet只能向下遍历(next());
可以将其设置成滚动的,既可以向上遍历(previous()),也可以定位到一个指定的物理行号(absolute(int index))

获得滚动结果集

//默认结果集,只能向下执行,并且只能迭代一次
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);

//创建滚动结果集,多两个参数设置
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
//con.createStatement(int ResultSet, int ResultSetConcurency)

con.createStatement(int ResultSet, int ResultSetConcurency)

  • 第一个参数 ResultSet 结果集类型
    • TYPE_FORWARD_ONLY 默认的,光标只能迁移
    • TYPE_SCROLL_INSENSITIVE 可以滚动,不受底层数据的影响
    • TYPE_SCROLL_SENSITIVE 可以滚动,受底层数据影响
  • 第二个参数 ResultSetConcurency 并发类型
    • CONCUR_READ_ONLY 指示不可更新的ResultSet对象的并发模式
    • CONCUR_UPDATABLE 指示可以更新的ResultSet对象的并发模式

上述参数基本有三种搭配模式

  • 默认的,不可滚动不可更改
    • TYPE_FORWARD_ONLY
    • CONCUR_READ_ONLY
  • 可滚动不可更改
    • TYPE_SCROLL_INSENSITIVE
    • CONCUR_READ_ONLY
  • 可滚动可更改
    • TYPE_SCROLL_INSENSITIVE
    • CONCUR_UPDATABLE

ResultSet可以更改数据库

//第一种通过 Statement执行sql语句执行
st.executeQuery(sql);

//第二种通过ResultSet执行,rs需要指向那一行
rs.updateString("","");//其他更改方式查看JDK文档
rs.updateRow();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本节介绍Statement接口及其子类PreparedStatement和CallableStatement。 它...
    zlb阅读 4,886评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,905评论 18 399
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,125评论 0 4
  • Java从入门到精通学习笔记 第一章初识java a)Java是一种通过解释方式来执行的语言。 b)Java语言编...
    张中华阅读 5,364评论 3 23