首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RowSet、CachedRowSet等的实现

RowSet、CachedRowSet等的实现
EN

Stack Overflow用户
提问于 2011-11-22 03:36:20
回答 4查看 17.3K关注 0票数 15

直到今天,我还在使用ResultSet处理查询的结果。但今天我读了一些关于RowSetCachedRowset的文章,我意识到他们可以更好地服务于我的目的。虽然在我读到的所有示例中,RowSetCachedRowSet都被称为object,但当我在代码中亲自尝试时,我意识到这些都是接口,并且在示例中它们使用了这些接口的一些实现。

现在我的问题是,我在哪里可以找到这些实现,是否有官方的东西?

我需要下载它们吗?或者它们是随JDK一起提供的吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-22 04:29:21

实现是特定于JRE的。Oracle (Sun) JRE附带了一系列实现:

  • com.sun.rowset.JdbcRowSetImpl
  • com.sun.rowset.CachedRowSetImpl
  • com.sun.rowset.WebRowSetImpl
  • com.sun.rowset.FilteredRowSetImpl
  • com.sun.rowset.JoinRowSetImpl

在Java 1.6及更早版本中,您需要自己构造它们:

代码语言:javascript
复制
JdbcRowSet rowSet = new JdbcRowSetImpl();
rowSet.setDataSourceName("jdbc/dbname");
// Or
rowSet.setUrl("jdbc:vendor://host:port/dbname");
rowSet.setUsername("username");
rowSet.setPassword("password");

rowSet.setCommand("SELECT id, name, value FROM tbl");
rowSet.execute();

while (rowSet.next()) {
    // ...
}

在Java1.7中,您可以通过javax.sql.rowset工厂获取它们,这样您就不依赖于底层的JRE实现,并且如果需要,您可以对选择的实现进行微调:

代码语言:javascript
复制
RowSetFactory rowSetFactory = RowSetProvider.newFactory();
JdbcRowSet rowSet = rowSetFactory.createJdbcRowSet();
// ...

它只是不提供在构造时传递ResultSet的可能性。这些实现并不随一般的JDBC驱动程序一起提供(至少,MySQL和PostgreSQL没有)。它基本上是JDBC API上的一个额外(可选)层,作为包名前缀javax提示。

请注意,如果您通过查看行集来达到此目的,那么您可能希望考虑改为查看ORM,例如Hibernate或JPA。它们提供了第一级/第二级缓存的可能性。

另请参阅:

  • JDBC Guide - Chapter 10 - RowSet
  • JDBC RowSet tutorial,by Oracle
  • Java 8 javax.sql.rowset package summary
  • Source code in OpenJDK 8,用于Oracle的com.sun.rowset实施,带Classpath exception

的GNUGPL2许可证

票数 20
EN

Stack Overflow用户

发布于 2011-11-22 03:37:43

RowSetCachedRowSet是由JDBC驱动程序实现的。

您的数据库提供商提供驱动程序,例如OracleMySql。然而,这些驱动程序只有在与实际数据库结合使用时才有意义。

票数 0
EN

Stack Overflow用户

发布于 2018-08-23 03:17:34

它随JDK一起提供。

在JDK 10中,jar是: jdk-10.0.2/lib/jrt-fs.jar

jar中的包/类是: javax.sql.RowSet.class

丹尼尔·皮涅罗

danielpm1982@gmail.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8217493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档