RowSet的实现,CachedRowSet的等

问题描述 投票:15回答:4

直到今天我与ResultSet从查询处理结果时工作。但是,今天我读了一些关于RowSetCachedRowset,我意识到他们能为我的目的更好。虽然我读了所有的例子,其中RowSetCachedRowSet在我的代码被简称为对象,当我尝试过自己,我意识到那些接口,并在他们的例子使用这些接口的一些实现。

现在的问题是在哪里可以找到这些实现,而且是有什么官?

我是否需要下载他们或他们来与JDK?

java jdbc resultset rowset cachedrowset
4个回答
19
投票

的实现是JRE具体。甲骨文(星期日)JRE配备了一堆的实现:

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

在Java 1.6之前,你需要自己构建它们:

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()) {
    // ...
}

在Java 1.7,你可以通过javax.sql.rowset工厂让他们让你不依赖底层JRE实现的,并且如果必要,可以选择微调的实施:

RowSetFactory rowSetFactory = RowSetProvider.newFactory();
JdbcRowSet rowSet = rowSetFactory.createJdbcRowSet();
// ...

它不仅不能提供一种可能性,通过对建设ResultSet。这些实现不与平均JDBC驱动船(至少,MySQL和PostgreSQL有没有)。它基本上是一个额外的(可选)层在JDBC API作为包名前缀javax提示。

请注意,如果你走到这一步的寻找到行集,那么你可能要考虑寻找到一个ORM代替,例如Hibernate或JPA。它们提供了第一/第二级缓存的可能性。

See also:


0
投票

RowSetCachedRowSet由JDBC驱动程序实现的。

您的数据库供应商提供的驱动程序如OracleMySql。但是这些驱动程序才有意义结合一个实际的数据库。


0
投票

它配备了JDK。

在JDK 10中,罐是:JDK-10.0.2 / LIB / JRT-fs.jar

而且罐子里面的包/类是:javax.sql.RowSet.class

丹尼尔·皮涅罗

Daniel [email protected]

enter image description here

enter image description here


0
投票

在Eclipse Java构建路径添加rt.jar中。然后你看到所有的FPGA实现类。否则,您可以从Eclipse中未允许从JDK访问的rt.jar限制。我的作品。我用的是JDK1.6和Eclipse月神。

© www.soinside.com 2019 - 2024. All rights reserved.