首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JDBC ResultSet滚动敏感类型和结果集滚动不敏感类型

在这个问答内容中,我们讨论了JDBC(Java Database Connectivity)中的ResultSet滚动敏感类型和结果集滚动不敏感类型。

首先,我们来了解一下ResultSet的类型:

  1. ResultSet滚动敏感类型(Scroll-sensitive):

ResultSet滚动敏感类型是指在ResultSet对象中,当游标移动时,数据库会感知到这种变化,并对数据库中的数据进行相应的操作。这种类型的ResultSet通常用于需要对数据进行实时更新的场景,例如在线游戏、股票交易等。

  1. 结果集滚动不敏感类型(Scroll-insensitive):

结果集滚动不敏感类型是指在ResultSet对象中,当游标移动时,数据库不会感知到这种变化,只会对当前ResultSet进行操作。这种类型的ResultSet通常用于不需要实时更新数据的场景,例如查询日志、报表等。

接下来,我们来看一下这两种ResultSet类型的应用场景:

  1. ResultSet滚动敏感类型的应用场景:
  • 在线游戏:玩家的位置、角色等信息需要实时更新,以保证游戏的正常进行。
  • 股票交易:交易员需要实时查看股票价格和交易量,以便做出及时的交易决策。
  • 实时数据分析:需要对数据进行实时分析和处理,以便及时发现问题和做出决策。
  1. 结果集滚动不敏感类型的应用场景:
  • 日志查询:需要查询系统日志,但不需要实时更新。
  • 报表生成:需要对数据进行统计和分析,但不需要实时更新。
  • 数据备份和恢复:需要对数据进行备份和恢复,但不需要实时更新。

最后,我们推荐使用腾讯云的数据库产品来实现这两种ResultSet类型的需求:

  • 对于ResultSet滚动敏感类型的需求,可以使用腾讯云的分布式数据库TDSQL-MySQL,它支持实时数据同步和强一致性,适用于在线游戏、股票交易等场景。
  • 对于结果集滚动不敏感类型的需求,可以使用腾讯云的关系型数据库MySQL,它支持高性能、高可用、弹性扩展等特性,适用于日志查询、报表生成等场景。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JDBC中的核心对象

五、ResultSet滚动结果(了解) 滚动的类别有: 下一行:默认只能使用它,其他的方法存在,但不能使用!默认的结果不可滚动!...是否可滚动 是否敏感 是否可更新 con.createStatement() 生成的结果滚动、不敏感、不可更新!...con.createStatement(int,int) 第一个参数: ​ ResultSet.TYPE_FORWARD_ONLY:滚动结果; ​ ResultSet.TYPE_SCROLL_INSENSITIVE...:滚动结果,但结果集数据不会再跟随数据库而变化; ​ ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果,但结果集数据不会再跟随数据库而变化;(没有数据库驱动会支持它!)...:滚动结果ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果,但结果集数据不会再跟随数据库而变化; ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果

54210

Java--JDBC连接数据库(二)

本篇文章接着上篇文章,还剩下一个知识点是,可滚动结果可更新的结果。一般默认情况之下,多结果是不可以显式滚动,移动选择的。...(默认) TYPE_SCROLL_INSENSITIVE 结果可以滚动,对原数据库不敏感 TYPE_SCROLL_SENSITIVE 结果可以滚动,对原数据库敏感 而Concurrency...说完了结果滚动操作,下面介绍结果的更新操作。那什么是结果的可更新操作呢?就是指,从数据库中查询出来的结果,我们通过操作此结果集会映射到数据库中。下面看看具体代码的实现。...至于updateXXX中,XXX的类型,只要sql中有的类型,都会对应一个调用时的类型。nvarchar对应我们的string,int对应int等。      ...至此,jdbc的简单用法就介绍完了,如果其中有错误,望大家指出!

74960
  • 18 JDBC 数据库编程

    同时也有一些高级的处理,如批处理更新、事务隔离滚动结果等。 javax.sql:它主要为数据库方面的高级操作提供了接口类,提供分布式事务、连接池等。...createStament有一种重载形式: conn.createStament(int, int) 的进一步说明 结果的特性 是否可滚动 是否敏感 是否可更新 Result.TYPE_FORWARD_ONLY...: 滚动结果 Result.TYPE-SCROLL_INSENSITIVE: 滚动且不敏感 Result.TYPE-SCROLL_SENSITIVE: 滚动敏感 CONCUR_READ_ONLY...启用mysql的预处理 ResultSet接口 在Statement执行SQL语句时,如果是SELET语句会返回结果结果通过接口java.sql.ResultSet描述的,它提供了逐行访问结果的方法...ResultSet提供了检索不同类型字段的方法,最常用的方法介绍如下: close():关闭结果对象。 isClosed():判断结果对象是否已经关闭。

    1.2K30

    JavaWeb(四)JDBC操作Oracle

    ()  返回Statement对象,操作SQL后 产生ResultSet 默认执行next 向前滚动,不支持在滚动中对数据进行修改 (只读执行滚动) Connection 接口还提供 createStatement...(int resultSetType, int resultSetConcurrency) 在创建Statement对象 设置结果类型,并发策略 结果类型 ResultSet.TYPE_FORWARD_ONLY...只能向前,只能调用next 不能向回滚动 ResultSet.TYPE_SCROLL_INSENSITIVE 支持结果向回滚动,不能查看修改结果 ResultSet.TYPE_SCROLL_SENSITIVE...  支持结果向回滚动,查看修改结果 结果并发策略 ResultSet.CONCUR_READ_ONLY 只读 ResultSet.CONCUR_UPDATABLE 支持修改 常见三种组合 ResultSet.TYPE_FORWARD_ONLY... ResultSet.CONCUR_READ_ONLY  (默认) 只读不支持向回滚动 ResultSet.TYPE_SCROLL_INSENSITIVE ResultSet.CONCUR_READ_ONLY

    1.4K40

    Jdbc知识点全整理,你值得拥有 ​(1)

    executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是ResultSetResultSet对象表示查询结果,只有在执行查询操作后才会有结果的产生...5 ResultSet滚动结果(了解) ResultSet表示结果,它是一个二维的表格!...结果是否支持滚动,要从Connection类的createStatement()方法说起。也就是说创建的Statement决定了使用Statement创建的ResultSet是否支持滚动。...:滚动结果ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果,但结果集数据不会再跟随数据库而变化; ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果..., CONCUR_READ_ONLY); String sql = …//查询语句 ResultSet rs = stmt.executeQuery(sql);//这个结果是可滚动的 6 ResultSet

    1.2K40

    几个重要的java数据库访问类接口

    用户需要在查询结果上浏览,或前后移动、或显示结果的指定记录,这称为可滚动结果。程序要获得一个可滚动结果,只要在获得SQL的语句对象时,增加指定结果的两个参数即可。...(SQL语句) 语句对象stmt的SQL查询就能得到相应类型结果。...int 型参数type决定可滚动滚动方式: ResultSet.TYPE_FORWORD_ONLY,结果的游标只能向下滚动。...int 型参数concurrency决定数据库是否与可滚动同步更新: ResultSet.CONCUR_READ_ONLY,不能用结果更新数据库中的表。...,     ResultSet.CONCUR_READ_ONLY); 可滚动上另外一些常用的方法如下: boolean previous():将游标向上移动,当移到结果的第一行时,返回false。

    1.2K10

    大数据必学Java基础(九十一):JDBC概述

    接口PreparedStatement接口 ResultSet接口数据库厂商微软、甲骨文等分别提供实现JDBC接口的驱动jar包程序员学习JDBC规范来应用这些jar包里的类。...2、JDBC 2.0JDBC 2.0 API被划分为两部分:核心API扩展API,有两个包,分别是java.sql包javax.sql包。...2.1、java.sql核心API包在支持新功能方面:包括结果可以向后滚动,批量的更新数据。另外,还提供了UNICODE字符的字符流操作。...在支持SQL的数据类型方面:新增加的BLOB, CLOB,和数组接口能够是应用程序操作大块的数据类型2.2、javax.sql扩展API包DataSource数据源接口JDBC1.0是原来是用DriverManager...RowsetsRowSet接口扩展了ResultSet接口。这样RowSet对象就有了ResultSet对象所有的功能。不可以滚动ResultSet变成了可以滚动的RowSet。​

    32991

    JDBC技术(前篇)

    比如执行查询操作:String sql=“select * from users”; 调用executeQuery(sql); 5.执行查询操作,返回ResultSet结果对象,结果里面封装了查询的结果...对象 结果对象是用来封装查询出来的数据(查询出来的数据其实就是一张表) 调用next方法跳转到下一行,逐个获取这一行的所有数据 如果想支持结果滚动效果,在创建Statement对象时,就得支持滚动效果...----演示滚动结果(链接) 简单查询 package cn.itcast.jdbc.esample; import java.sql.Connection; import java.sql.DriverManager...演示滚动结果 package cn.itcast.jdbc.esample; import java.sql.Connection; import java.sql.DriverManager...; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 演示滚动结果(

    33320

    Java--JDBC总结

    是Statement的子接口,允许数据库预编译SQL语句,因此性能更好; ResultSet: 结果对象。该对象包含访问查询结果的方法。 上方每个类/接口都含有一些方法,可以查相关文档。...JDBC编程步骤 加载数据库驱动 通过DriverManager获取数据库连接 通过Connection对象创建Statement对象 使用Statement执行SQL语句 操作结果 回收数据库资源(...管理结果滚动、可更新的结果: 以默认方式打开的ResultSet是不可更新的,可以在创建ResultSet或PreparedStatement传入额外的参数来创建可更新的ResultSet: resultSetType...: 记录指针可以自由移动(可滚动结果),但底层数据的改变不会影响ResultSet的内容; ResultSet.TPYE_SCROLL_SENSITIVE:记录指针可以自由移动(可滚动结果),而且底层数据的改变会影响...使用ResultSetMetaData分析结果: 执行SQL后可以通过移动指针遍历结果,但无法获得ResultSet中包含哪些数据列,以及每个数据列的数据类型

    81850

    MySQL数据库与JDBC编程

    执行SQL语句 示例:使用PreparedStatement插入记录 使用CallableStatement调用存储过程 示例:调用存储功能 管理结果滚动、可更改的结果 示例:创建可滚动、可更改的结果...处理Blob类型数据 示例:通过SQL的Blob存储并读取图片数据 使用ResultSetMetaData分析结果 示例:分析结果 使用RowSet包装结果 RowSetFactoryRowSet...ELSE result END 分组组函数 将一组记录作为整体计算,返回一个结果。 计算多行expr的平均值,数据类型必须是数值型。...执行DML语句返回受SQL语句影响的行数,执行DDL语句返回0; executeQuery():只能执行查询语句,执行后返回代表查询结果ResultSet对象; 5、操作结果 next()、previous...可滚动、可更改的结果滚动:可以使用方法自由移动记录指针的ResultSet

    3.6K40

    Java 中文官方教程 2022 版(三十五)

    ResultSet 对象的灵敏度由三种不同的 ResultSet 类型之一确定: TYPE_FORWARD_ONLY:结果无法滚动;其游标仅向前移动,从第一行之前到最后一行之后。...TYPE_SCROLL_INSENSITIVE:结果可以滚动;其游标可以相对于当前位置向前向后移动,并且可以移动到绝对位置。结果对在打开时对基础数据源进行的更改是不敏感的。...TYPE_SCROLL_SENSITIVE:结果可以滚动;其游标可以相对于当前位置向前向后移动,并且可以移动到绝对位置。结果反映了在结果保持打开状态时对基础数据源所做的更改。...添加滚动性或可更新性 一些数据库管理系统不支持可以滚动(可滚动)的结果,有些不支持可以更新(可更新)的结果。...RowSet对象默认是可滚动可更新的,因此通过将结果的内容填充到RowSet对象中,您可以有效地使结果滚动可更新。 RowSet 对象的种类 RowSet对象被认为是连接的或断开连接的。

    21700

    jdbc就是这么简单

    常用Statement方法: execute(String sql):运行语句,返回是否有结果 executeQuery(String sql):运行select语句,返回ResultSet结果。...ResultSet还提供了对结果进行滚动的方法: next():移动到下一行 Previous():移动到前一行 absolute(int row):移动到指定行 beforeFirst():移动resultSet...的Type 说明 TYPE_FORWARD_ONLY 结果不能滚动,只可向前滚动 TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet...(并发类型) 说明 CONCUR_READ_ONLY 结果不可用于更新数据库 CONCUR_UPDATABLE 结果可以用于更新数据库 3....ResultSet滚动结果使用 First: 将指针移动到此 ResultSet 对象的第一行 Last: 将指针移动到此 ResultSet 对象的最后一行 beforeFirst: 将指针移动到此

    1.2K30

    jdbc就是这么简单

    常用Statement方法: execute(String sql):运行语句,返回是否有结果 executeQuery(String sql):运行select语句,返回ResultSet结果。...ResultSet还提供了对结果进行滚动的方法: next():移动到下一行 Previous():移动到前一行 absolute(int row):移动到指定行 beforeFirst():移动resultSet...的Type 说明 TYPE_FORWARD_ONLY 结果不能滚动,只可向前滚动 TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet...(并发类型) 说明 CONCUR_READ_ONLY 结果不可用于更新数据库 CONCUR_UPDATABLE 结果可以用于更新数据库 3....ResultSet滚动结果使用 First: 将指针移动到此 ResultSet 对象的第一行 Last: 将指针移动到此 ResultSet 对象的最后一行 beforeFirst: 将指针移动到此

    1.4K20

    jdbc就是这么简单

    常用Statement方法: execute(String sql):运行语句,返回是否有结果 executeQuery(String sql):运行select语句,返回ResultSet结果。...ResultSet还提供了对结果进行滚动的方法: next():移动到下一行 Previous():移动到前一行 absolute(int row):移动到指定行 beforeFirst():移动resultSet...的Type 说明 TYPE_FORWARD_ONLY 结果不能滚动,只可向前滚动 TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet...(并发类型) 说明 CONCUR_READ_ONLY 结果不可用于更新数据库 CONCUR_UPDATABLE 结果可以用于更新数据库 3....ResultSet滚动结果使用 First: 将指针移动到此 ResultSet 对象的第一行 Last: 将指针移动到此 ResultSet 对象的最后一行 beforeFirst: 将指针移动到此

    1.1K30

    Java数据库编程中的技巧

    ResultSet rs = ps.executeQuery(); // 查询 int c = ps.executeUpdate(); // 更新 3、处理执行结果 查询语句,返回记录ResultSet...cn.close(); 一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection 可滚动、更新的记录 1、创建可滚动、更新的Statement...、更新的记录 批量更新 事务处理 java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 1、取得数据库连接 1)用DriverManager取数据库连接...ResultSet rs = ps.executeQuery(); // 查询 int c = ps.executeUpdate(); // 更新 3、处理执行结果 查询语句,返回记录ResultSet...cn.close(); 一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection 可滚动、更新的记录 1、创建可滚动、更新的Statement

    93650

    Java Review(三十四、JDBC

    JDBC 使用 ResultSet 来封装执行查询得到的查询结果, 然后通过移动ResultSet 的记录指针来取出结果的内容。...5.1、可滚动、 可更新的结果 可以使用 absolute()、 previous()、 afterLast()等方法自由移动记录指针的 ResultSet 被称为可滚动结果。...• ResultSet.TYPE_SCROLL_SENSITIVE: 该常量控制记录指针可以自由移动( 可滚动结果),而且底层数据的改变会影响 ResultSet 的内容。...下面代码通过这两个参数创建了一个 PreparedStatement 对象, 由该对象生成的 ResultSet 对象将是可滚动、 可更新的结果。...简介_w3cschool 【3】:JDBC 驱动类型_w3cschool 【4】:JDBC 连接数据库_w3cschool 【5】:JDBC 结果_w3cschool 【6】:JDBC Statement

    76720

    JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】

    获取执行sql语句的statement对象 statement = connection.createStatement(); //执行sql语句,拿到结果...resultSet = statement.executeQuery("SELECT * FROM users"); //遍历结果,得到数据...对象 ResultSet对象代表Sql语句的执行结果,当Statement对象执行executeQuery()时,会返回一个ResultSet对象 ResultSet对象维护了一个数据行的游标【简单理解成指针...】,调用ResultSet.next()方法,可以让游标指向具体的数据行,进行获取该行的数据 常用方法: //获取任意类型的数据 getObject(String columnName) //获取指定类型的数据...【各种类型,查看API】 getString(String columnName) //对结果进行滚动查看的方法 next() Previous() absolute(int row) beforeFirst

    1.3K60

    mybatis映射器之select

    返回结果类型,可以是类的全路径,也可以是别名,也可以是八大基础类型 不能resultMap一起使用 resultMap 返回结果的复杂映射,可以定义复杂映射规则 需要在配置文件中设置映射规则 flushCache...在调用sql后,是否清空之前查询的本地缓存二级缓存 取值为布尔类型,true/false useCache 启动二级缓存,是否缓存此次结果 取值为布尔类型,true/false timeout 设置超时参数...(游标允许向前访问),SCROLL_SENSITIVE(双向滚动,但不及时更新),SCROLL_INSENSITIVE(双向滚动,并及时跟踪数据库的更新,以便更改resultSet中的数据) 默认值是数据库厂商提供的...JDBC驱动所设置的 databaseId 标识数据库厂商 提供多种数据库支持 resultOrdered 嵌套结果使用 默认值为false resultSets 适合于多个结果的情况,它将列出执行...PARTIAL,只会自动映射,阿弥有定义嵌套结果映射的结果。 FULL,会自动映射任意复杂的结果(无论是否嵌套)。 默认值为PARTIAL。

    79020
    领券