为什么要使用CachedRowSetImpl?
很多情况我们使用ResultSet 就会因为这样那样的问题,rs被关闭或数据链接被关闭,导致ResultSet不能使用。其实这个问题我们可以用CachedRowSetImpl来解决。我的理解是这是一个结果的缓存类,保存在其中的数据不会随着数据库和ResultSet的连接的关闭而丢失,可以传递。
使用方法如下:
package com.ifly.myhome.test;
import java.sql.*;
import com.sun.rowset.CachedRowSetImpl;
public class test {
private static Connection con;
private static String user = "kh";
private static String password = "kh";
private static String className = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/student";
public static void main(String[] args) {
try {
Class.forName(className);
con = DriverManager.getConnection(url, user, password);
String sql="select * from student";
PreparedStatement pstm=con.prepareStatement(sql);
pstm.execute();
17 ResultSet rs=pstm.getResultSet();
18 CachedRowSetImpl rowset=new CachedRowSetImpl();
rowset.populate(rs);
rs.close();
pstm.close();
con.close();
while (rowset.next()) {
System.out.println("id:"+rowset.getString("id")); } } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
从上面的例子可以看出,数据库和ResultSet的连接都已经关闭了,而且仍然可以进行数据循环出值来。使用方法也很简单(红色字体所示)
为什么要使用CachedRowSetImpl?的更多相关文章
- 调用CachedRowSetImpl类时出现错误
调用CachedRowSetImpl类时,出现以下错误: Access restriction: The type CachedRowSetImpl is not accessible due to ...
- 调用CachedRowSetImpl类时,为什么会出现这样的错误
Access restriction: The type CachedRowSetImpl is not accessible due to restriction on required libra ...
- 关于CachedRowSetImpl类
全称: com.sun.rowset.CachedRowSetImpl 父类: javax.sql.rowset.BaseRowSet 实现的接口: javax.sql.RowSet javax.sq ...
- 关于jsp的总结
第一章:jsp技术不仅是开发web应用的先进技术,而且是进一步学习相关技术的基础.jsp引擎是支持jsp程序的web容器,负责运行jsp,并将有关结果发送到客户端.目前流行的jsp引擎之一是tomca ...
- 将CachedRowSet中的数据转储到对象中
虽然还有很多bug,但凑合能用,就是将CachedRowSet中的数据转换成对象或List.省去了繁琐难看的一系列get/set方法. 先说调用: 注: cachedRowSet是查询的结果集 Stu ...
- java数据库查询类
通用查询数据库辅助类,可实现任意查询语句的查询,还可以进行多结果集查询. 类的代码: package com.hongyuan.db; import java.math.BigDecimal; imp ...
- JSP 相关试题(三)
判断题 1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的(对 ) 2.Web开发技术包括客户端和服务器端的技术.(对 ) 3.Tomcat和JDK都 ...
- java.lang.IllegalStateException
java.lang.IllegalStateExceptionorg.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFac ...
- Java数据库编程
ava与数据库交互的主要API是jdbc.jdbc的主要目的是: 1.通过使用SQL或者专有的SQL扩展,程序员可以利用java语言开发访问数据的应用. 2.数据库开发商或者数据库工具开发商改进数据库 ...
随机推荐
- 读取properties文件方式
//src目录下 static Properties pro = new Properties(); //jar包时用(ide也可以) // pro.load(Tool.class.getClassL ...
- 登录oracle数据库提示账户锁定解决方法
问题再现: 由于更改了oracle账户的密码,退出重新连接oracle出现了账户被锁定的情况. 请了百度君出来卸载一下,问题已解决. 在cmd下:sqlplus /nolog 然后:以dba身份登录: ...
- fabric devenv Vagrantfile配置
Vagrantfile文件只会在第一次执行vagrant up时调用执行,其后如果不明确使用vagrant reload,则不会被强制重新加载. # This is the mount point f ...
- Js中最常见的异常捕捉 TryCatch
今天检查网页的时候因为一段Js报错 导致下面的js没有执行(一个js动态添加的弹窗没有出现) 原因是因为 一个属性本身是undefined 找不到 无法给他赋值 这里的原因很简单 也已经修改好了但是这 ...
- python 线程之 threading(三)
python 线程之 threading(一)http://www.cnblogs.com/someoneHan/p/6204640.html python 线程之 threading(二)http: ...
- 限制Xamarin获取图片的大小
限制Xamarin获取图片的大小在App开发中,经常会使用网络图片.因为这样不仅可以减少App的大小,还可以动态更新图片.但是手机使用网络环境千差万别.当网络环境不是理想的情况下,加载网络图片就是一个 ...
- 如何在本地搭建IIS服务器
http://jingyan.baidu.com/article/8ebacdf021313d49f65cd525.html
- Web前端:11个让你代码整洁的原则
写Web页面就像我们建设房子一样,地基牢固,房子才不会倒.同样的,我们制作Web页面也一样,一个良好的HTML结构是制作一个美丽的网站的开始,同样的,良好的CSS只存在同样良好的HTML中,所以一个干 ...
- dbflow 批量 增删查改
@ModelContainer @Table(database = DemoDatabase.class) class Person extends BaseModel implements Seri ...
- DOTA 2 Match History WebAPI(翻译)
关于DOTA 2 Match History WebAPI 的 源网页地址: http://dev.dota2.com/showthread.php?t=47115 由于源网页全英文,这边做下翻译方便 ...