- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to insert data into a CachedRowSet in JDBC? Explain?
The CachedRowSet is the base implementation of disconnected row sets. It connects to the data source, reads data from it, disconnects with the data source and the processes the retrieved data, reconnects to the data source and writes the modifications.
Creating a CachedRowSet
You can create a Cached RowSet object using the createCachedRowSet() method of the RowSetFactory.
You can create a RowSetFactory object using the newfactory() method of the RowSetProvider method.
Create a CachedRowSet object using the above mentioned methods as shown below −
//Creating the RowSet object RowSetFactory factory = RowSetProvider.newFactory(); CachedRowSet rowSet = factory.createCachedRowSet();
Connecting to the data source
After creating a RowSet object you need to connect it to the required DataSource.
You can connect to a DataSource by setting values to the properties such as username, password, url and, data source name as −
//Setting the URL String mysqlUrl = "jdbc:mysql://localhost/SampleDB"; rowSet.setUrl(mysqlUrl); //Setting the user name rowSet.setUsername("root"); //Setting the password rowSet.setPassword("password");
Preparing and executing the command statement
A cached row set has a command property to which you can pass the queries. Set the required query to this property using the setCommand() method.
rowSet.setCommand("select * from ProductSales");
You can execute the query that the RowSet object holds using the execute() method.
rowSet.execute();
Inserting a row in a CachedRowSet
The moveToInsertRow() method of the CachedRowSet interface navigates the cursor to the position where you need to insert the next record.
Therefore, move the cursor to the appropriate position to insert a row using this method.
The updateXXX() methods of the CachedRowSet interface allows you to insert/update values in to the RowSet object.
Add values to the new row using these methods for example if you need to insert an integer value at 1st column and, String value at 2nd column you can do so using the updateInt() and updateString() methods as −
rowSet.updateInt(1, integerValue); rowSet.updateString(2, "stringValue");
The insertRow() method inserts the row to the CachedRowSet and to the table as well.
Therefore, insert the above created row in to CachedRowSet object and the table using this method.
Example
Assume we have a table named ProductSales in the database with the following content −
+----+-------------+--------------+--------------+--------------+-------+----------------+ | ID | ProductName | CustomerName | DispatchDate | DeliveryTime | Price |Location | +----+-------------+--------------+--------------+--------------+-------+----------------+ | 1 | Key-Board | Raja | 2019-09-01 | 05:30:00 | 7000 |Hyderabad | | 2 | Earphones | Roja | 2019-05-01 | 05:30:00 | 2000 |Vishakhapatnam | | 3 | Mouse | Puja | 2019-03-01 | 05:29:59 | 3000 |Vijayawada | | 4 | Mobile | Vanaja | 2019-03-01 | 04:40:52 | 9000 |Chennai | | 5 | Headset | Jalaja | 2019-04-06 | 18:38:59 | 6000 |Goa | +----+-------------+--------------+--------------+--------------+-------+----------------+
Following example Retrieves the contents of the above mentioned table in to a CachedRowSet object and, inserts a new record in to it.
import java.sql.Date; import java.sql.DriverManager; import java.sql.Time; import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.RowSetFactory; import javax.sql.rowset.RowSetProvider; public class CachedRowSetExample { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Creating the RowSet object RowSetFactory factory = RowSetProvider.newFactory(); CachedRowSet rowSet = factory.createCachedRowSet(); //Setting the URL String mysqlUrl = "jdbc:mysql://localhost/SampleDB"; rowSet.setUrl(mysqlUrl); //Setting the user name rowSet.setUsername("root"); //Setting the password rowSet.setPassword("password"); //Setting the query/command rowSet.setCommand("select * from ProductSales"); rowSet.execute(); System.out.println("Contents of the row set"); while(rowSet.next()) { System.out.print("ID: "+rowSet.getInt("ID")+", "); System.out.print("Product Name: "+rowSet.getString("ProductName")+", "); System.out.print("Customer Name: "+rowSet.getString("CustomerName")+", "); System.out.print("Dispatch Date: "+rowSet.getDate("DispatchDate")+", "); System.out.print("Delivery Time: "+rowSet.getTime("DeliveryTime")); System.out.print("Price: "+rowSet.getString("Price")+", "); System.out.print("Location: "+rowSet.getString("Location")); System.out.println(""); } //Inserting data into RowSet object rowSet.moveToInsertRow(); rowSet.updateInt(1, 6); rowSet.updateString(2, "Laptop"); rowSet.updateString(3, "Jagadeesh"); rowSet.updateDate(4, new Date(1551899399000L)); rowSet.updateTime(5, new Time(1551899399000L)); rowSet.updateInt(6, 50000); rowSet.updateString(7, "Mumbai"); rowSet.insertRow(); rowSet.moveToCurrentRow(); System.out.println(""); System.out.println("Contents of the row set after inserting a new row: "); System.out.println(""); rowSet.beforeFirst(); while(rowSet.next()) { System.out.print("ID: "+rowSet.getInt("ID")+", "); System.out.print("Product Name: "+rowSet.getString("ProductName")+", "); System.out.print("Customer Name: "+rowSet.getString("CustomerName")+", "); System.out.print("Dispatch Date: "+rowSet.getDate("DispatchDate")+", "); System.out.print("Delivery Time: "+rowSet.getTime("DeliveryTime")); System.out.print("Price: "+rowSet.getString("Price")+", "); System.out.print("Location: "+rowSet.getString("Location")); System.out.println(""); } } }
Output
Contents of the row set ID: 1, Product Name: Key-Board, Customer Name: Raja, Dispatch Date: 2019-09-01, Delivery Time: 05:30:00Price: 7000, Location: Hyderabad ID: 2, Product Name: Earphones, Customer Name: Roja, Dispatch Date: 2019-05-01, Delivery Time: 05:30:00Price: 2000, Location: Vishakhapatnam ID: 3, Product Name: Mouse, Customer Name: Puja, Dispatch Date: 2019-03-01, Delivery Time: 05:29:59Price: 3000, Location: Vijayawada ID: 4, Product Name: Mobile, Customer Name: Vanaja, Dispatch Date: 2019-03-01, Delivery Time: 04:40:52Price: 9000, Location: Chennai ID: 5, Product Name: Headset, Customer Name: Jalaja, Dispatch Date: 2019-04-06, Delivery Time: 18:38:59Price: 6000, Location: Goa Contents of the table after inserting a new row: ID: 1, Product Name: Key-Board, Customer Name: Raja, Dispatch Date: 2019-09-01, Delivery Time: 05:30:00Price: 7000, Location: Hyderabad ID: 2, Product Name: Earphones, Customer Name: Roja, Dispatch Date: 2019-05-01, Delivery Time: 05:30:00Price: 2000, Location: Vishakhapatnam ID: 3, Product Name: Mouse, Customer Name: Puja, Dispatch Date: 2019-03-01, Delivery Time: 05:29:59Price: 3000, Location: Vijayawada ID: 4, Product Name: Mobile, Customer Name: Vanaja, Dispatch Date: 2019-03-01, Delivery Time: 04:40:52Price: 9000, Location: Chennai ID: 5, Product Name: Headset, Customer Name: Jalaja, Dispatch Date: 2019-04-06, Delivery Time: 18:38:59Price: 6000, Location: Goa ID: 6, Product Name: Laptop, Customer Name: Jagadeesh, Dispatch Date: 1970-01-19, Delivery Time: 04:34:59Price: 50000, Location: Mumbai
- Related Articles
- What is a CachedRowSet in JDBC? Explain?
- How to insert Binary data into a table using JDBC?
- How to insert data into a table with auto-incremented columns using JDBC?
- How to insert rows into a ResultSet in JDBC?
- How to insert Date value into table in JDBC?
- How to insert a row into a ResultSet object using JDBC?
- How to insert a DATALINK object into a table using JDBC?
- How to insert/store JSON array into a database using JDBC?
- How to update the column of a row in a CachedRowSet object in JDBC?
- How to insert a record into a table in a database using JDBC API?
- How do I check to see if a column name exists in a CachedRowSet in JDBC?
- How do we insert/store a file into MySQL database using JDBC?
- How to insert data into a MySQL database with Java?
- How to write MySQL procedure to insert data into a table?
- How can we insert data into a MySQL table?
