RowSet es una interfaz en java que está presente en el paquete java.sql. Geek tenga en cuenta que no debe confundir RowSet con ResultSet.
Nota: RowSet está presente en el paquete javax.sql mientras que ResultSet está presente en el paquete java.sql.
La instancia de RowSet es el componente del bean java porque tiene propiedades y un mecanismo de notificación del bean java. Se introduce en JDK5. Un JDBC RowSet proporciona una forma de almacenar los datos en formato tabular. Hace que los datos sean más flexibles y fáciles que un ResultSet. La conexión entre el objeto RowSet y la fuente de datos se mantiene a lo largo de su ciclo de vida.
Los RowSets se clasifican en cinco categorías en función de cómo se implementan, que se enumeran a continuación:
- JdbcRowSet
- CachedRowSet
- WebRowSet
- FilteredRowSet
- JoinRowSet
La ventaja de RowSet es la siguiente:
- Es fácil y flexible de usar.
- Es desplazable de forma predeterminada y se puede actualizar de forma predeterminada, mientras que ResultSet de forma predeterminada solo se puede reenviar y la operación de solo lectura es válida solo allí.
La interfaz JDBC RowSet es una extensión de RowSet. Es un contenedor para el objeto ResultSet que agrega algunas funciones adicionales.
Sintaxis: declaración de la interfaz Jdbc RowSet
public interface JdbcRowSet extends RowSet, Joinable
Para conectar RowSet con la base de datos, la interfaz de RowSet proporciona métodos para configurar las propiedades del bean Java que se muestran a continuación:
void setURL(String url): void setUserName(String user_name): void setPassword(String password):
Por último, solo necesitamos crear un objeto JdbcRowSet donde se muestra un ejemplo debajo de la ilustración de la siguiente manera:
Ilustración:
JdbcRowSetrowSet = RowSetProvider.newFactory().createJdbcRowSet(); // 1. Oracle database considered rowSet.setUrl("jdbc:oracle:thin:@localhost:1521:xe"); // 2. username is set customly as - root rowSet.setUsername("root"); // 3. Password is set customly as - pass rowSet.setPassword("pass"); // 4. Query rowSet.setCommand("select * from Students");
Implementación: supongamos que tenemos una tabla llamada estudiante en la base de datos como:
+--------------+-------------+ | RollNo | Name | Marks | +--------------+-------------+ | 1 | jack | 92 | | 2 | jenny | 90 | | 3 | mark | 80 | | 4 | joe | 82 | +--------------+-------------+
Implementando JdbcRowSet y recuperando los registros
Java
// Java Program to Illustrate RowSet in JDBC // Importing database import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.sql.RowSetEvent; import javax.sql.RowSetListener; import javax.sql.rowset.JdbcRowSet; import javax.sql.rowset.RowSetProvider; // Main class class RowSetDemo { // Main driver method public static void main(String args[]) { // Try block to check for exceptions try { // Loading and registering drivers Class.forName( "oracle.jdbc.driver.OracleDriver"); // Creating a RowSet JdbcRowSetrowSet = RowSetProvider.newFactory() .createJdbcRowSet(); // Setting URL, username, password rowSet.setUrl( "jdbc:oracle:thin:@localhost:1521:xe"); rowSet.setUsername("root"); rowSet.setPassword("pass"); // Creating a query rowSet.setCommand("select * from Student"); // Executing the query rowSet.execute(); // Processign the results while (rowSet.next()) { // Print and display commands System.out.println("RollNo: " + rowSet.getInt(1)); System.out.println("Name: " + rowSet.getString(2)); System.out.println("Marks: " + rowSet.getString(3)); } } // Catch block to handle the exceptions catch (Exception e) { // Print and display the exception along with // line number using printStackTrace() method e.printStackTrace(); } } }
Producción:
RollNo: 1 Name: jack Marks: 92 RollNo: 2 Name: jenny Marks: 90 RollNo: 3 Name: mark Marks: 80 RollNo: 4 Name: joe Marks: 82
Publicación traducida automáticamente
Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA