In this lab, we gave you a starter class. It was this class, the StudentJdbcRowSetDAO. In there, there were these various to-do statements that we had to fill in, and we followed our instructions to do so. What does that look like once it's done? Well, to start off with, in this DAO, we're selecting all from students, then we're using the RowSet provider new factory. Now, be aware of your wonderful imports, Java SQL RowSet that we've got there, for example. From that factory, we can create our JDBC RowSet. JDBC RowSet is configurable with a series of properties, the URL, the username, the password. We can set the type of JDBC RowSet. Remember this is a specialization of the result set object. We can set its scrolling ability to be insensitive to changes underneath the hood, for example, to the underlying objects. We could have set it to sensitive. We've also set the command. The command is the sequel associated with this JDBC RowSet. This RowSet is specifically for the sequel select or from students. Then in the next method, the Print All Students, we basically execute this method that creates the JDBC RowSet to select all students and then we execute it. What we do now is we just printed out some titles there, but we position the cursor prior to the first row in the resultant RowSet returned. We then do a Next to move us to the first row, and very similar to before we iterate over it. We could get the row, for example. We can get the column names of the columns to retrieve the data in the row of the resultant Result RowSet. Again, we're using the same old convergers as we did before, string, date, etc. Then we just print it out, and then we just iterate over it again and again. That's very similar to using Results Set. Now in our update, we create the JDBC RowSet again, which selects all from Students. Then we execute it. Instead of iterating over it, so to speak, in a while loop, using Next, we can start to navigate through it, through some of the API of the Result set itself. We can go to index number 2. We can update index number 2, the row there, the column name with a new name. We haven't actually committed that update. We're committing through the JDBC RowSet to the underlying database. We set Update row. We can move to the fourth row. We can delete it. Now we've deleted that row. I've been a good boy here, I've actually closed it off because we won't reuse it again. Remember there are other methods as well, such as Previous, so we could scroll backwards, which we didn't use in this lab. But the API is pretty extensive. Now we asked you to create a new J unit. We're going to need both the school day and the new Student Jdbc RowSet DAO as fixtures in our J unit. I've created both of them here. We need the school in order to initialize the tables as we've always been doing. Now we're going to use the new DAO to print all the students out. Using the JDBC RowSet, we'll execute our update method where we navigated around and we did the update. Then we'll print it out again to see if the update took effect, it should, I've already commit on the database. If I select this new J unit and run it, let's see what we've got. Let's take a look at the results. James, Jane, Anna, Peter, Katy, James, New name, that was our update, and a Katy. It looks like coral Peter who was in Row 4 has indeed been deleted. A very different way of connecting to a database using the JDBC RowSet.