This is part three session of integrating a spring MVC application with hibernate. We have completed adding book and updating book retrieving all the books from the database while doing delete book we got an exception. The reason was in my form I have given the method is get and while calling the method I have used force mapping. So, I have to go and change it over here it does get mapping let us see the flow for this delete book from from that JC when you click this delete form it will come to this book controller. So, it will go to this method it will going to delete from the JSP JSP file which is expecting book ID. After entering the book ID when you click Submit, it has to go to delete book, the book controller I have a method which is annotated with delete group.
The mistake that I have made over here was instead of calling get mapping I have used post mapping that is why it was giving me an exception. Now once delete method is completed it has to go back to the same I mean I am redirecting to the first method. So, you will be seeing home dot JSP with a list of books. Now, let me save this I will just go to this application let me run the application just getting started whenever you are creating a spring MVC application using spring boots it will take time to load So, always ensure that you are deploying only one application at a time in Tomcat. Now the application has started at home dot JSP with a list of books and they are what add book update book delete book link. Let me click this delete book link.
Now I have got the form fields to enter the book ID I will enter 102 Let me click Delete book editors come to home that JC Let me check whether this JC Medici book is available already. deleted from this bookless Can you see, initially it was the first entry that has taken the database also select star from books. Now can you see earlier it was their JSP. Now it is removed. As I told you, we can also beautify this code by adding this JSP l part using JSP. Or you can just show the list of books in the form of a table, one method is left out that is get book by category, so that also you can just add it over here.
For that in home dot JSP. I don't want to have a link, I'm just going to have a search button. When the user is entering the category in the search button, automatically, it has to take that value and go to the back end. So, again let's be going for a form I have added a form to return a list of books by a particular category. So this is the form and once the user clicks Submit button, it has to go to the back end. Come back to the same page with the Stop books, the boost books has to be populated in this particular page only.
Okay, so let me just save this, I'll go to this book controller, again I need to add a method to get the books by category. So, I just added in the last, what is the name search book method escape method only this get mapping it has to go to the backend, the trees and the star books and come back to the same page only that is my idea. We are bookless book service dot get books by category and I need to pass a category From where will I get the category from the request Param. There is one more thing called a spot variable. What is the purpose of this if you are going to enter the value next to the URL, just like path Param what you have learned is a RESTful web service. Here we can use part variable one Creating a RESTful web service using a spring MVC application, I will explain that this spring category Come on I need the model right.
So I'm just leaving it as edge here is this category. So, we can understand the spot what actually we are doing is when the user is clay entering the category and clicking the search button, it has to come to this particular method, wherein we are having such book as the path as the URL and the method is homepage any method name you can do you are trying to retrieve the category and you are adding model as parameter. Now, from using this category, you are going to call get book by category method of book service. Once you are getting the book list, you are attaching it to the model, the same dummy name it is only books. So, if the user is giving his one option, he will get a list of books based on that particular category. Here, one thing you need To check if the list is null in that scenario, where you have to decide what actually you want to do for this dummy name books, I will just show you that here I can just say if book list is equal to null book list.is empty don't go into a null null expecting null checks only what an object.
So if it is empty, then model dot add attribute for books and just going to give no books in this category, okay? And not I add all attributes to this add attribute is this clear. I'm checking whether the book list is empty. That is you don't have any books based on this particular category means you are just giving your value for this book attribute, book or books attribute your books attribute. So you Stop printing the list of books that are just going to give this message in the homepage Okay. Now, let me save this I will rerun this application basically in the first page on of any application you will be having a search button with the form fields together with that you will be getting the list of books was there What about the sad mood guitar I mean that book update book continuous books all these has to be in a separate page like for admin.
Now here I have got it, I can let me just give it a sec. Click Search by category and can you see automatically it is filtering and showing the list of books based on the category that you have given. Now again in Star Trek, I have got fiction I think so as you feature, click search by category and got it I hope this part is clear. What we have learned how to Perform CRUD operations with the database in a spring MVC application using hibernate. We have seen all the operations. In the next session let us learn how to make spring report create the implementation class for the Diego layers using JPA repositories.
So we are not going to create the implementation we are going to make spring create the implementation for our performance with our working with the database. Thank you