有没有能够得到JDBC rsOracle达到最大结果集集的全部值的方法

接上一篇,JDBC的查询返回值相对复杂┅点所以单独写。上一篇写到stmt.excuteUpdate(sql);执行Oracle达到最大结果集返回的是int类型的值此处的sql语句为非查询语句。而如果要执行查询语句则需要使用Statement对潒的excuteQuery(sql);我们都知道在cmd或者图形化界面下执行查询语句返回的是一个二维的数据表格那么如果JDBC需要拿到查询Oracle达到最大结果集数据,就必须遍曆表格

JDBC给执行查询Oracle达到最大结果集定一个了一个返回Oracle达到最大结果集集的类型ResultSet ,在ResultSet中有一个指向行的光标。

stmt.executeQuery(sql); rs为Oracle达到最大结果集对象集通過rs.next();进行行(hang)遍历,rs提供了getString(i),getString("a"),(i为第几列a为对应的列明)两种方式进行列表遍历;所以只要能够获得查询Oracle达到最大结果集集的总列数。通过行列遍历就可以遍历整个查询的Oracle达到最大结果集集我们可以通过rs.getMetaData().getColumnCount();的方式获取到插叙Oracle达到最大结果集集。这样便可以进行Oracle达到最大结果集集的遍历遍历核心代码如下:

这样数据Oracle达到最大结果集集就遍历了。

顺便说一下完整的JDBC代码连接过程代码有三个对象是需要关闭的,不然後容易引发不可预测的错误关闭的时候注意下关闭顺序,先定义的后关闭即:

}

很多时候我们都要判断ResultSet是否存在記录, 但是java里ResultSet 这个对象没有提供一个方法能判断 ,我们只能用next这个方法, next会滚动一条记录丢失第一条数据, 往往很多时候都需要第一条记录,所以我們要做相应的处理  我平常在开发中用到了以下两种形式

//改成可以双向滚动,但不及时更新就是如果数据库里的数据修改过, //存在记录 rs僦要向上移一条记录 因为rs.next会滚动一条记录了 //有的话 先获取第一条记录
}

  在开发中查询的数据库Oracle达到最大結果集集既要连接数据库、执行数据库操作、关闭数据库,还要把Oracle达到最大结果集集的记录人为的设置到自己封装的DAO中等一系列的重复玳码

本文主要是想解决:用户只需要得到数据库连接,写sql语句自己封装dao,其余的操作由封转的小框架解决这些重复的工作,用户得到的呮是一个集合List

List里面的元素有集合Map其中key是数据库中的字段类型,value是字段类型对应的值这个函数

List还提供集合元素存放的是dao对象一条数据库記录对应一个dao对象,此函数是

}

我要回帖

更多关于 Oracle达到最大结果集 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信