Hibernate Example: Spring Mvc With
@Controller @RequestMapping("/users") public class UserController {
@Configuration @EnableTransactionManagement public class HibernateConfig {
@Override public void deleteUser(Long id) { Session session = sessionFactory.getCurrentSession(); User user = session.get(User.class, id); if (user != null) { session.delete(user); } } } UserService Interface package com.example.service; import com.example.model.User; import java.util.List; spring mvc with hibernate example
@PostMapping("/save") public String saveUser(@Valid @ModelAttribute("user") User user, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return "user-form"; } userService.saveUser(user); return "redirect:/users/list"; }
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { User user = session.get(User.class
@Entity @Table(name = "users") public class User {
public String getName() { return name; } public void setName(String name) { this.name = name; } if (user != null) { session.delete(user)
@Bean public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/userdb?useSSL=false"); dataSource.setUsername("root"); dataSource.setPassword("password"); return dataSource; }
private Properties hibernateProperties() { Properties properties = new Properties(); properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect"); properties.put("hibernate.show_sql", "true"); properties.put("hibernate.hbm2ddl.auto", "update"); properties.put("hibernate.format_sql", "true"); return properties; } } package com.example.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView;
@Override @SuppressWarnings("unchecked") public List<User> getAllUsers() { Session session = sessionFactory.getCurrentSession(); Query<User> query = session.createQuery("FROM User ORDER BY id", User.class); return query.getResultList(); }