JdbcRowSet - 用来封装实现了JDBC的结果集;
CachedRowSet - 轻量的数据容器,仅当需要读取或写入数据库时才进行连接,其他时候虽然你可以对它进行修改/更新操作,但它与数据库是断开的,我们可以看到WebRowSet、JoinRowSet和FilteredRowSet都是它的子接口;
FilteredRowSet - 用来获取数据子集;
JoinRowSet - 通过多个RowSet接口的类的实例实现SQL JOIN查询;
WebRowSet - 使用标准的XML格式处理表格化的数据;
SyncResolver - 提供一种处理同步冲突的框架/机制。
使用CachedRowSet,以及它定义好的子接口,只要JDBC驱动的提供商给出具体的实现,我们就可以很方便的处理异步的数据对象,在需要的时候才进行数据库连接,免去了不少资源占用。基本上,你需要做的就是给出连接参数和SQL语句,操作返回的结果,然后把修改提交回数据源即可,具体的细节都被封装好了。
对那些刚接触JDBC的朋友,我想说的是,虽然你看到的都是接口,但这正是JDBC的特色和优点所在,JDBC API的设计者把接口(顺带其功能)定义好,就像是写下了一纸契约,具体的数据库厂商或者第三方遵照这一契约来实现这些接口,而对于我们使用JDBC的一方则可以放心的按照契约调用定义好的方法,而不必担心这些方法不存在或者没有实现等。哪怕我们换掉数据库,我们面对的还是那些API,只要新数据库同样有这样一组实现了JDBC的驱动。(现实中大项目做到这一步还比较困难,但这又是另一回事了。)这正是面向接口编程的精粹。
回到我们的RowSet新增子接口,它们存在的目的同样是定义好一组标准的行为,让具体的JDBC的提供者去实现,我们在另一端直接使用就OK了。
更详细的内容,参考这里。
本文地址:http://com.8s8s.com/it/it12196.htm