CacheRowSet

一 基本概念

  CachedRowSet是最常用的一种RowSet,继承自ResultSet,它提供了对数据库的离线操作,可以将数据读取到内存中进行增删改查,再同步到数据源。可串行化,可作为JavaBeans在网络间传输。

二 基本使用 
 1、获取CachedRowSet
//JDK7以上支持
RowSetFactory rowSetFactory = RowSetProvider.newFactory();  
CachedRowSet crs = rowSetFactory.createCachedRowSet();
 2、填充CacheRowSet
  1)execute()

   crs根据设置的url、username、password 三个参数去创建一个数据库连接,
   然后执行查询命令sql ,用结果集填充crs。

crs.setUrl(url);
crs.setUsername("username"); 
crs.setPassword("password"); 
crs.setCommand(sql);
crs.execute();

   execute()还可以直接接受一个已经打开的数据库连接,假设conn为一个已经打
   开的数据库连接,下段示例代码与上段代码结果一致: 

crs.execute(conn);
crs.setCommand(sql);
crs.execute();
  2)populate(ResultSet)
ResultSet rs = stmt.executeQuery(sql);
crs.populate(rs);
 3、新增
crs.moveToInsertRow();
crs.updateString("Name", "Shakespeare");
crs.updateInt("ID", 10098347);
crs.updateShort("Age", 58);
crs.updateInt("Sal", 150000);
crs.insertRow();
crs.moveToCurrentRow();
crs.acceptChanges();
 4、删除

  把游标移到要删除的行,调用 deleteRow() ,再同步回数据库即可。

crs.last();
crs.deleteRow();
crs.acceptChanges();
 5、更新

  把游标移到要更新的行,根据每列的类型调用对应的更新方法,再同步到数据库中

crs.first();
crs.updateString(1, "Hello"); 
crs.updateInt(2,10098347);
crs.updateRow();
crs.acceptChanges();
 6、查询

  以列号为参数获取每行中的列值

while (crs.next()) {
    String name = crs.getString(1);
    int id = crs.getInt(2);
    Clob comment = crs.getClob(3);
    short dept = crs.getShort(4);
    System.out.println(name+"  "+id+"  "+comment+"  "+ dept);
}

  以列名为参数获取每行中的列值

while (crs.next()) {
    String name = crs.getString("NAME");
    int id = crs.getInt("ID");
    Clob comment = crs.getClob("COM");
    short dept = crs.getShort("DEPT");
    System.out.println(name+"  "+id+"  "+comment+"  "+ dept);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值