RowSet
1. RowSet简介
与RowSet 相比,RowSet默认是可滚动、可更新、可序列化的结果集,而且作为JavaBean使用,因此能方便的在网络上传输,用于同步两端的数据,对于离线RowSet而言,程序在创建RowSet时已经把数据从底层数据库读取到了内存,因此可以充分利用计算机的内存,从而降低数据库服务器的负载,提高程序性能。RowSet接口继承了ResultSet接口
2. Java新增了RowSetProvider类和RowSetFactory接口,其中RowSetProvider负责创建RowSetFactory,而RowSetFactory则提供了如下方法来创建RowSet实例
- CachedRowSet createCachedRowSet():创建默认的CachedRowSet
- FilteredRowSet createFilteredRowSet():创建一个默认的FilteredRowSet
- JdbcRowSet createJdbcRowSet():创建一个默认的JdbcRowSet
- JoinRowSet createJoinRowSet():创建一个默认的JoinRowSet
- WebRowSet createWebRowSet():创建一个默认的WebRowSet
RowSet接口中提供了如下常用方法能让RowSet抓取数据库的数据
setUrl(String url)
setUsername(String name)
setPassword(String password)
setCommand(String sql)
execute():执行查询。
代码示例:
//加载驱动
Class.forName(driver);
//使用RowSetProvider创建RowSetFactory
RowSetFactory factory = RowSetProvider.newFactory();
try( JdbcRowSet jdbcRs = factory.createJdbcRowSet()) //使用RowSetFactory创建
{
//设置必要的连接信息
jdbcRs.setUrl(url);
jdbcRs.setUsername(user);
jdbcRs.setPassword(pass);
//设置查询语句
jdbcRs.setCommand(sql);
//执行查询语句
jdbcRs.execute();
jdbcRs.afterLast();
//向前滚动结果集
while(jdbcRs.previous())
{
If(jdbcRs.getInt(“student_id”)==3)
{
///修改指定记录行
jdbcRs.updateString(“student_name”,”张三”)
jdbcRs.updateRow();
}
}
}