java 离线数据集RowSet

RowSet接口继承规定了五个新的接口:
1.       CachedRowSet  CachedRowset 可以不用与数据源建立长期的连接,只有当从数据库读取数据或是往数据库写入数据的时候才会与数据库建立连接,它提供了一种轻量级的访问数据库的方式,其数据均存在内存中。
2.         JdbcRowSet :对ResultSet的对象进行包装,使得可以将ResultSet对象做为一个JavaBeans ™ 组件。
3.         FilteredRowSet :继承自CachedRowSet,可以根据设置条件得到数据的子集。
4.         JoinRowSet 继承自CachedRowSet,可以将多个RowSet对象进行SQL Join语句的合并。
5.       WebRowSet :继承自CachedRowSet,可以将WebRowSet对象输出成XML格式。
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.RowSet;
import com.sun.rowset.CachedRowSetImpl;
 
public class testCachedRowSet {
 
       public static void testCachedRowSet() {
      
       }
      
       public static com.sun.rowset.CachedRowSetImpl Query_all() throws SQLException{
              Connection conn = null;
              String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=testrowset";
              String user="sa";
              String password="sa";
           // 获得数据库连接
              conn= DriverManager.getConnection(url,user,password);
              java.sql.Statement stmt = conn.createStatement();
              // 查询数据库,获得表数据
              ResultSet rs = stmt.executeQuery("select * from test");                                 // 根据ResultSet对象生成CachedRowSet类型的对象
              CachedRowSetImpl crs = new CachedRowSetImpl();
              crs.populate(rs);
              // 关闭ResultSet
              rs.close();
              // 关闭数据库的连接
              conn.close();
              return crs;
       }
       public static void main(String[] args) throws SQLException {
              String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
              Connection conn = null;
              String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=testrowset;SelectMethod=Cursor";//最后注意事项的部分
              String user="sa";
              String password="sa";
                     try {
                            Class.forName(driver).newInstance();
                            CachedRowSetImpl crs = new CachedRowSetImpl();
                            crs=Query_all();
                         crs.setTableName("test");
                         crs.next();
                         //改操作   
                         crs.updateString(1, "434");
                         //查操作
                         String id = crs.getString("ID");
                         System.out.println(id);
                         //删操作
                         crs.deleteRow();
                         crs.updateRow();
                         // 重新获取与数据库的连接
                         conn= DriverManager.getConnection(url,user,password);
                         // 将CachedRowSet的内容更新到数据库
                         crs.acceptChanges(conn);
                         // 关闭CachedRowSet
                         crs.close();
                         // 关闭数据库连接
                         conn.close();
                     } catch (InstantiationException e) {
                            e.printStackTrace();
                     } catch (IllegalAccessException e) {
                            e.printStackTrace();
                     } catch (ClassNotFoundException e) {
                            e.printStackTrace();
                     }
       }
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值