JdbcRowSet接口是一个连接的RowSet,并且与不同CachedRowSet的是,不实现Serializable。
如果你创建了一个同时实现JdbcRowSet和的类会发生什么Serializable?它会在序列化时有效地发送快照JdbcRowSet,还是这样的类不可能派上用场?
(这更多是出于我自己的理解,而不是任何应用程序;我知道CachedRowSet实现可能是实现相同结果的正确途径。)
JdbcRowSet接口是一个连接的RowSet,并且与不同CachedRowSet的是,不实现Serializable。
如果你创建了一个同时实现JdbcRowSet和的类会发生什么Serializable?它会在序列化时有效地发送快照JdbcRowSet,还是这样的类不可能派上用场?
(这更多是出于我自己的理解,而不是任何应用程序;我知道CachedRowSet实现可能是实现相同结果的正确途径。)
由于 JDBCRowSet 是一个连接架构,因此不希望将类序列化,因为它在 jdbc 驱动程序的帮助下维护与数据库的连接。因此,最好使用 CachedRowSet(在序列化的情况下),这反过来又是一个断开的架构。
以下是这两种 RowSet 的区别: 1) JdbcRowSet: JdbcRowSet 类提供了 javax.sql.RowSet 接口的基本实现,它将 ResultSet 对象转换为 JavaBean 并抽象出使用 ResultSet 对象的细节。您可以使用此对象来简化连接步骤或为不支持这些功能的驱动程序提供可滚动和可更新的游标。但是,JdbcRowSet 对象只能在连接模式下运行,因此需要 JDBC 驱动程序的存在。
2) Cached RowSet: CachedRowSet 类提供与 JdbcRowSet 类相同的功能,但有一个重要区别:CachedRowSet 对象可以在断开连接的环境中运行。因此,它可以在没有 JDBC 驱动程序的情况下运行。使用数据填充 CachedRowSet 对象后,您可以通过网络将其发送到瘦客户端,将其提供给笔记本电脑上的销售专业人员,或将其序列化以进行数据归档。CachedRowSet 对象的优点是您向其发送对象的客户端不需要 JDBC 驱动程序。