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(); } } }
相关推荐
### Java离线数据传送知识点详解 #### 一、离线数据传送的概念与意义 在Java开发过程中,离线数据传送是一种非常重要的技术手段,尤其是在处理大量数据或进行复杂查询时。传统的数据处理方式通常需要保持数据库...
在Java中,Rowset是由Sun Microsystems(现已被Oracle公司收购)引入的一个接口,它是JavaBeans组件的一部分,用于提供离线数据处理能力。本文将详细讲解Sun对Rowset的实现及其相关知识点。 1. **什么是Rowset?** ...
在Java编程中,ROWSET允许程序员在离线环境中处理数据库数据,这意味着它可以在没有实际数据库连接的情况下操作数据。这使得ROWSET在处理大量数据时更为高效,因为减少了与数据库的来回通信。 ROWSET基于JavaBeans...
RowSet对象是一个可滚动、可更新的数据集,它可以独立于底层数据库连接存在,这意味着即使在关闭了数据库连接后,RowSet中的数据仍然可用,这极大地提升了数据处理的灵活性。 ### JDBC RowSet的核心特性 1. **数据...
总结来说,JdbcRowSet接口是Java中处理数据库数据的一种高效工具,它提供离线操作、事件监听、事务控制等功能,极大地提升了开发效率和应用程序的性能。在实际项目中,根据具体需求选择合适的数据访问方式,合理利用...
`RowSet`接口及其实现,如`CachedRowSet`,提供了离线的、可滚动的、可更新的数据集。它可以在断开与数据库连接的情况下工作,这对于减少资源消耗和提升性能非常有帮助。`RowSetDemo`的代码可能演示了如何创建和...
7. 其他高级特性:例如CallableStatement用于调用存储过程,以及RowSet接口提供的离线数据访问能力。 其次,光盘可能还包括示例代码和数据库脚本,这些实战案例有助于巩固理论知识。读者可以通过运行这些示例来实践...
- `javax.sql.RowSet`:实现了离线数据访问,允许在没有实际数据库连接的情况下操作数据。 3. JDBC编程的基本步骤: - 注册驱动:使用`Class.forName()`加载驱动类,或通过系统属性`jdbc.drivers`设置。 - ...
8. **JDBC高级特性**:如CallableStatement用于调用存储过程,以及使用RowSet接口实现离线数据处理。 通过深入学习Java和JDBC,开发者可以构建高效、可扩展的数据驱动应用程序。在实际项目中,还应结合ORM框架,如...
最后,JDBC的高级特性还包括CallableStatement用于调用存储过程,以及RowSet接口,提供离线数据处理能力。在处理大数据时,JDBC的流式结果集(ResultSet)和批处理也能有效减少内存占用和提高效率。 总的来说,Java...
- **行集**:`javax.sql.rowset`包提供了一系列用于离线处理数据的类,如`CachedRowSet`。 - **分布式事务**:在分布式环境中协调多个资源(如数据库和消息队列)的事务管理。 #### 六、应用于JDBC的其他企业API -...
4. **RowSet接口**:提供了离线数据访问能力,支持缓存和断线重连。 5. **JDBC与JPA/Hibernate比较**:了解JDBC与ORM框架(如JPA、Hibernate)的区别和应用场景。 通过这四天的学习,你应该能熟练地使用Java JDBC...
4. **JDBC高级特性**:包括Resultset的滚动、更新、元数据查询,以及RowSet接口的使用,提供离线数据处理能力。 5. **异常处理**:讨论在JDBC编程中如何正确地捕获和处理SQLException及其子类。 通过“Java零基础...
RowSet接口提供了离线数据处理能力,可以在断开与数据库的连接后继续操作数据,增强了应用的灵活性。 7. **JDBC与应用架构**: 在实际应用中,JDBC常与MVC(Model-View-Controller)框架结合使用,如Servlets、...
- **结果集处理**:ResultSet迭代查询结果,RowSet提供了更灵活的离线数据处理能力。 9. **Java标准库** - **反射机制**:通过反射API可以在运行时动态获取类的信息,创建对象并调用方法。 - **集合高级功能**:...
* JDBC 基础:常见数据库用法、JDBC 操作常见数据库、RowSet 与离线结果集、数据库连接池、事务管理、批处理 * JDBC 进阶:存储过程、函数、触发器、理解 JCBC 的不足、掌握 ORM 工具优势和设计 三、DHTML 编程 * ...
2. **RowSet接口**:支持离线数据操作,提供了更灵活的数据处理方式。 本教材将通过实例详述以上知识点,并指导你如何在实际项目中高效、安全地使用JDBC API进行数据库编程。通过学习,你将具备处理复杂数据库操作...
JDBC RowSet是JDBC中的一种动态数据集,它可以脱离原始数据源而独立存在。在Oracle Instant Client中,RowSet功能使得Java开发者可以缓存数据库结果,允许离线处理数据或进行批量更新。RowSet还可以实现滚动和遍历...
1. **更新通知(Rowset Updates)**:离线数据集可以进行更改并在稍后同步到数据库,增强了数据处理的灵活性。 2. **结果集的维护(Result Set Maintenance)**:允许在结果集中插入、删除和更新行,使得对结果集的...
RowSet是JDBC中一种离线处理结果集的技术,包括`JdbcRowSet`、`CachedRowSet`等。 #### 4.9 事务 事务是一系列数据库操作的逻辑单元,确保数据的一致性。 #### 4.10 高级连接管理 高级连接管理包括连接池的使用、...