Table of Contents [hide]
We have already seen integration of Spring Rest with hibernate in previous tutorial.
Spring MVC Tutorial [hide]
- Spring MVC hello world example
- Spring MVC Hibernate MySQL example
- Spring MVC Spring Data example
- Spring MVC Interceptor example
- Spring MVC angularjs example
- Spring MVC @RequestMapping example
- Spring Component,Service, Repository and Controller example
- Spring MVC @ModelAttribute annotation example
- Spring MVC @RestController annotation example
- Spring MultiActionController Example
- Spring MVC ModelMap
- Spring MVC file upload example
- Spring MVC Exceptional handling using @ControllerAdvice
- Spring MVC Exceptional handling using @ExceptionalHandler
- Spring restful web service example
- Spring restful web service json example
- Spring Restful web services CRUD example
- Spring security hello world example
- Spring security custom login form example
Here are steps to create a project with Spring MVC , hibernate and mySQL crud example.
Github Source code:
Maven dependencies
2) We are using Spring 4 and Hibernate 4 for this application. It should work with hibernate 3 also but we need to do small changes in hibernate configuration.
pom.xml
Spring application configuration:
3) Change web.xml as below:
4) create a xml file named spring-servlet.xml in /WEB-INF/ folder.
Please change context:component-scan if you want to use different package for spring to search for controller.Please refer to spring mvc hello world example for more understanding.
In Spring-servlet.xml, we have done hibernate configuration.
dataSource bean is used to specify java data source. We need to provide driver, URL , Username and Password.
transactionManager bean is used to configure hibernate transaction manager. hibernate4AnnotatedSessionFactory bean is used to configure FactoryBean that creates a Hibernate SessionFactory. This is the common way to set up a shared Hibernate SessionFactory in a Spring application context, so you can use this SessionFactory to inject in Hibernate data access objects.
Create a applicationcontext.xml in WEB-INF folder, this file is used for bean configuration as we are using spring-servlet.xml for bean configuration , we will keep this file empty.
Create bean class
4) Create a bean name “Country.java” in org.arpit.java2blog.bean.
@Entity is used for making a persistent pojo class.For this java class,you will have corresponding table in database. @Column is used to map annotated attribute to corresponding column in table. So Create Country table in mysql database with following code:
Create Controller
5) Create a controller named “CountryController.java” in package org.arpit.java2blog.controller
Create DAO class
@Repository is specialised component annotation which is used to create bean at DAO layer. We have use Autowired annotation to inject hibernate SessionFactory into CountryDAO class. We have already configured hibernate SessionFactory object in Spring-Servlet.xml file.
Create Service class
It is service level class. It will call DAO layer class.
Create view
Right click on project -> Run as -> Maven build


Run the application

http://localhost:8080/SpringMVCHibernateCRUDExample/getAllCountries
You will get below screen:

As you can see, we did not add any country to the list, so it is empty.
Lets add Country named India to country list and click submit.
Similarly we will add China , Bhutan and Nepal respectively and you will see below screen.

Lets edit population of Bhutan to 15000. Click on edit button corresponds to Bhutan.

When you click on submit, you will get below screen.

Lets delete country China from above list, click on delete button corresponds to 2nd row.
You will see below screen.

As you can see, china got deleted from above list.
Project structure:

We are done with Spring MVC hibernate MySQL CRUD example. If you are still facing any issue, please comment.
EXCELLENT tutorial! This is the best yet of any I've seen. Just wanted to take a minute to say thanks for putting this together, it was extremely helpful!
Hi Friends
It is very usefull doucment please folow all the steps you get a solution
Thanks to Who has added post
hi arpit , i like u tutos. Can u explain how updateCountry method on @Controller work? when link the url for edit a country.. to get an exception.
Nice tutorial…………. working projected…..
Awesome tutorial….. I never write comments.. but this was one perfect…
Thank you so much ,awesome tutorial
The only working tutorial on the internet for hibernate
The best code I’ve seen so far.
Awesome tutorial…Only working blog, keep rocking…
Excellent way of Explaining all the tutorials.Thans
best example keep it up !!
its working properly !