在java主要涉及到数据开发的过程中,我们会和数据库打交道很多,其中使用了数据集比如ResultSet和RowSet,经常使用两种,还有其它的一些,那么这两种的主要区别是什么呢?我们先来看它们引入的方式,ResultSet:import java.sql.ResultSet;  RowSet: import javax.sql.RowSet; 典型的区别是引入的路径不一样: java和javax都是Java的API(Application Programming Interface)包,java…
TYPE_FORWARD_ONLY: 默认方式,结果集不能滚动,游标只能向前移动,从第一行移动到最后一行.结果集中的内容与底层数据库生成的结果有关,即生成的结果与查询有关. TYPE_SCROLL_INSENSITIVE: 结果集不能滚动,游标可以相对当前位置向前和向后移动,并且可以移动到绝对位置.它不受底层数据更改所影响. TYPE_SCROLL_SENSITIVE:结果集能滚动,游标可以相对当前位置向前和向后移动,并且可以移动到绝对位置.它受底层数据更改所影响.…
这几天给项目做性能压力测试,发现一个方法压力200之后就会把整个系统弄停掉.仔细检查发现是开发人员调用数据库的写法有问题.用的是spring的jdbcTemplate,在使用回调的时候,在回调里又做了数据库的查询.只要把这个查询写在回调外执行就没有性能问题,写在里面压力大的时候马上出问题. 查看spring的源代码发现,这两种写法唯一的区别就是,写在回调里面的时候,数据库连接未关闭就开启一个新的连接进行操作,写在外面则是先关闭了的. 造成数据库端报错ORA-12519,数据库端给不出可用的连接来…
现在数据库中有一张用户表,希望用户在jsp页面中输入用户名和密码以及 用户类型,在servlet中插入数据库后,在另一个jsp页面中把数据库中所有的用户名和类型都以列表的形式列出来    可以用OracleCachedRowSet实现了ResultSet中的所有方法The oracle.jdbc.rowset.OracleCachedRowSet class is the Oracle implementation of CachedRowSet servlet代码为: import oracl…
最近在处理DB2 ,查询中,发现如下问题.如果一个查询 count(*),有几十万行,分页如何实现 select row_number() over (order by fid desc ) as row_number,  other_field from   loaddata 如果这个查询的结果会返回几十万行,如何分页: 1  order by fid desc   中 fid 这个字段一定要建立索引,且建立索引时, 要根据sql中的排序方式保持一致            2 如何分页    …
JDBC 使用 ResultSet 来封装 SQL 的查询结果,可以将 ResultSet 类比为数据库表的查询结果. 它拥有如下两个性质: 可滚动. 可更新. 这两个性质,是在创建 Statement 的时候决定的. 一般来说,我们使用以下 Connection 的方法创建 Statement: Statement createStatement() throws SQLException; 但实际上,Connection 还提供以下方法: Statement createStatement(…
虽然还有很多bug,但凑合能用,就是将CachedRowSet中的数据转换成对象或List.省去了繁琐难看的一系列get/set方法. 先说调用: 注: cachedRowSet是查询的结果集 Student是对应于Student表的实体类 1. 从数据库Student表中查询出多行数据,要将其存入ArrayList<Student>中: ArrayList<Student> student = Convert.RStoList(cachedRowSet , Student.cla…
JDBC 概述 什么是JDBC JDBC全称是Java数据库连接(Java Database Connectivity),应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询.更新和删除等操作.是一套用于执行SQL语句的Java API. Java的数据库连接接口.它是Java API中的一部分,通过它可以将Java程序和关系数据库集成在一起. 应用程序通过调用JDBC来操作数据库的过程,其实是由数据库厂商提供的JDBC驱动程序来负责的.如果要更换数据库,只要更换…
一.相关概念 1.什么是JDBC JDBC(Java Database Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 2.数据库驱动 我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道.其实也就是数据库厂商的J…
数据库的查询操作会得到一系列数据,JDBC API也提供了相关对象来接收查询结果集. 一.ResultSet java.sql.ResultSet接口表示数据库查询的结果集. JDBC提供以下连接方法来创建具有所需ResultSet的语句: createStatement(int RSType, int RSConcurrency); prepareStatement(String SQL, int RSType, int RSConcurrency); prepareCall(String s…