滚动

一般结果集只能是向下的,不是滚动的,你要是想让它滚动你得设置才行。


类名或者接口里面有静态的可以。接口里面的属性全部都是public static final,类名/接口名.是属性,这些都是常量。


结果集是你查询到的结果,数据库不是给你一个人玩的吧。在高并发访问的时候很容易出现一些问题。就是你在查的时候可能别人改了。问题:你查的时候别人改了,那就是你查到的是改了的还是查到的是没改了的呢?你得到改还是不改的。


滚动结果集怎么创建?通过设置参数来创建滚动结果集。对于一些特殊需求滚动结果集绝对是有用的。分页:把数据库的某些记录拿出来,数据库里面有100条记录,全显示出来的话一页显示100条,一页显示20条5页就OK了。拿出第3页的数据:把absolute定位到第3页的开始的位置,往下循环20次就OK了,这就是滚动结果集。这个方式是可以做分页的,但是后面不会这么做。这是通用的方案,根本就不需要考虑什么数据库,只要是java支持的数据库就行,因为使用了JDBC。JDBC是跨数据库的。但是这种方案性能太低,我们后面讲分页用的是数据库本身提供的一些分页的函数,它的性能高一些。要是有一天要做一个跨数据库的分页可以这么做。


package cn.itcast.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import cn.itcast.utils.JdbcUtils; //后面开发滚动结果集用的不多,实际开发用的也不多
public class JdbcDemo7 {
public static void main(String[] args) throws SQLException {
//1.得到一个Connection
Connection con= JdbcUtils.getConnectin();
//2.得到一个执行sql语句Statement
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//这就代表了一个滚动的可以更新的结果集 //3.执行sql,得到结果集
ResultSet rs = st.executeQuery("select * from user"); //滚动结果集是可以向上向下跑,还可以绝对定位 //4.定位 //游标默认是在第一行上面,那你向上没了。所以是不行的
//你得让这游标往下走才能向上嘛。
rs.absolute(3);//3不是代表id值,代表的是一个绝对的物理行号
//System.out.println(rs.getInt("id") + " " + rs.getString("username") + ""); //rs.afterLast();//afterLast就是直接达到结果集的最后面 最后一行的下面 /* while(rs.previous()){
System.out.println(rs.getInt("id") + " " + rs.getString("username") + "");
}*/ rs.updateString("password","456");//对应哪个列进行修改
rs.updateRow();
//5.关闭
rs.close();
st.close();
con.close();
}
}

day17 13.滚动结果集介绍的更多相关文章

  1. php常用Stream函数集介绍

    php常用Stream函数集介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-24   本篇文章是对php中的常用Stream函数集进行了详细的分析介绍,需要的朋友参考下     ...

  2. JDBC入门(2)--- ResultSet之滚动结果集

    一.ResultSet之滚动结果集 ResultSet表示结果集,它是一个二维的表格.ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标: void befo ...

  3. SharePoint 2013 术语和术语集介绍

    托管元数据是一个集中管理的术语的分层集合,我们可以定义术语和术语集,然后将其用作 SharePoint Server 2013 中项目的属性.简单的说,术语是一个可与 SharePoint Serve ...

  4. Apache Commons 工具集介绍

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...

  5. MySQL中间件之ProxySQL(13):ProxySQL集群

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html ProxySQL有原生的集群功能,但是这个原生的集群功能还正在试验阶段 ...

  6. Percona Toolkit工具集介绍

    部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要.percona toolkit是一个有30多个mysql工具的工具箱.兼容mysql,percona server,mar ...

  7. 探索Redis设计与实现13:Redis集群机制及一个Redis架构演进实例

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

  8. ProxySQL(13):ProxySQL集群

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9362822.html ProxySQL有原生的集群功能,但是这个原生的集群功能还正在试验阶段.本文会详细介绍 ...

  9. Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对WeakHashMap进行学习.我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap.第1部分 WeakHashMap介绍 ...

随机推荐

  1. Xcode 查找 TODO 清单

    在 Xcode 中按 Shift+Command+F,显示在项目中查找窗口,选择按正则表达式查找(Find > Regular Expression): TODO:  //\s*\bTODO\s ...

  2. linux服务器应用NTP配置时间同步

    linux服务器应用NTP配置时间同步 • 为什么建议使用ntpd而不是ntpdate? #####原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18 ...

  3. android问题 This version of android studio is incompatible with the gradle version used.

    http://blog.csdn.net/sinat_15417921/article/details/51907728 问题背景 因为项目app分包需要,将工程的graddle版本升至了2.2.0 ...

  4. cassandra mongodb选择——cassandra:分布式扩展好,写性能强,以及可以预料的查询;mongodb:非事务,支持复杂查询,但是不适合报表

    Of course, like any technology MongoDB has its strengths and weaknesses. MongoDB is designed for OLT ...

  5. JVM_总结_01_JDK的安装

    一.前言 本文主要简要介绍下JDK的安装 二.下载 1.JDK下载地址 前往官方网站下载JDK jdk8官网下载 2.JDK下载 如下图 下载完之后得到安装软件,如下图 三.安装 双击运行安装软件,即 ...

  6. Linux 线程同步的三种方法(互斥锁、条件变量、信号量)

    互斥锁 #include <cstdio> #include <cstdlib> #include <unistd.h> #include <pthread. ...

  7. C# winform窗口打开特效及窗口位置居中

    在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置:  MainForm mainForm = new MainForm();  mainForm.StartPosition =  ...

  8. 使用Nginx配置资源虚拟路径

    不实用Nginx的时候我们会使用虚拟路径来配置: 在tomcat下的conf/server.xml中增加一个代码 在<Host></Host>中间 如下: <!--增加的 ...

  9. BZOJ2716:[Violet 3]天使玩偶

    浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...

  10. Ubuntu下部署GitLab-——基于14.04系统

    搭建GitLab的目的: 方便公司开发管理代码 GitLab实现的功能: 1.关闭了gitlab的注册功能 2.修改了默认端口 3.汉化 0.前期准备 # 环境 Ubuntu 14.04 root@i ...