Spring Mvc With Hibernate Example Now
Overview This example demonstrates integrating Spring MVC with Hibernate for building a complete web application with database persistence. Spring MVC handles the web layer while Hibernate manages ORM (Object-Relational Mapping) for database operations. Project Structure spring-mvc-hibernate-example/ ├── src/main/java/ │ └── com/example/ │ ├── config/ │ │ ├── WebConfig.java │ │ ├── RootConfig.java │ │ └── HibernateConfig.java │ ├── controller/ │ │ └── UserController.java │ ├── dao/ │ │ ├── UserDAO.java │ │ └── UserDAOImpl.java │ ├── model/ │ │ └── User.java │ └── service/ │ ├── UserService.java │ └── UserServiceImpl.java ├── src/main/webapp/ │ ├── WEB-INF/ │ │ └── views/ │ │ ├── user-list.jsp │ │ ├── user-form.jsp │ │ └── user-detail.jsp │ └── index.jsp └── pom.xml Dependencies (pom.xml) <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.31</version> </dependency> <!-- Spring ORM --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>5.3.31</version> </dependency>
@Bean public PlatformTransactionManager hibernateTransactionManager() { HibernateTransactionManager transactionManager = new HibernateTransactionManager(); transactionManager.setSessionFactory(sessionFactory().getObject()); return transactionManager; }
public interface UserDAO { void saveUser(User user); User getUserById(Long id); List<User> getAllUsers(); void updateUser(User user); void deleteUser(Long id); } package com.example.dao; import com.example.model.User; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.query.Query; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import java.util.List; spring mvc with hibernate example
@Autowired private UserService userService;
public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } !-- Spring MVC -->
@Repository @Transactional public class UserDAOImpl implements UserDAO {
public int getAge() { return age; } public void setAge(int age) { this.age = age; } } UserDAO Interface package com.example.dao; import com.example.model.User; import java.util.List; !-- Spring ORM -->
@Controller @RequestMapping("/users") public class UserController {