Advertisement
Guest User

Untitled

a guest
Jan 7th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. package com.simplecrud.service;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5. import org.springframework.transaction.annotation.Transactional;
  6.  
  7. import com.simplecrud.dao.EmployeeDao;
  8. import com.simplecrud.model.Employee;
  9.  
  10.  
  11. @Service("employeeService")
  12. @Transactional
  13. public class EmployeeService {
  14.  
  15. @Autowired
  16. EmployeeDao dao;
  17.  
  18. @Transactional
  19. public String create(Employee employee)
  20. {
  21. System.out.println("service"+employee);
  22. dao.create(employee);
  23. return null;
  24. }
  25.  
  26. }
  27.  
  28. package com.simplecrud.dao;
  29.  
  30.  
  31. import org.hibernate.SessionFactory;
  32. import org.springframework.beans.factory.annotation.Autowired;
  33. import org.springframework.stereotype.Component;
  34. import org.springframework.stereotype.Repository;
  35.  
  36.  
  37. import com.simplecrud.model.Employee;
  38.  
  39.  
  40. @Component
  41. @Repository
  42. public class EmployeeDao {
  43.  
  44. @Autowired
  45. SessionFactory sessionFactory;
  46.  
  47. public void create(Employee employee){
  48.  
  49. sessionFactory.openSession().saveOrUpdate(employee);
  50. /*sessionFactory.getCurrentSession().saveOrUpdate(employee);*/
  51. /* protected Session getSession(){
  52. return sessionFactory.getCurrentSession();
  53. }*/
  54. }
  55. }
  56.  
  57. package com.simplecrud.configuration;
  58.  
  59. import java.util.Properties;
  60.  
  61. import javax.sql.DataSource;
  62.  
  63. import org.hibernate.SessionFactory;
  64. import org.springframework.beans.factory.annotation.Autowired;
  65. import org.springframework.context.annotation.Bean;
  66. import org.springframework.context.annotation.ComponentScan;
  67. import org.springframework.context.annotation.Configuration;
  68. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  69. import org.springframework.orm.hibernate4.HibernateTransactionManager;
  70. import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
  71. import org.springframework.orm.hibernate4.LocalSessionFactoryBuilder;
  72. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  73. import org.springframework.web.servlet.view.JstlView;
  74. import org.springframework.web.servlet.view.UrlBasedViewResolver;
  75.  
  76. @Configuration //Marks this class as configuration
  77. //Specifies which package to scan
  78. @ComponentScan("com.simplecrud")
  79. //Enables Spring's annotations
  80. @EnableWebMvc
  81. public class Config {
  82.  
  83. @Bean
  84. public UrlBasedViewResolver setupViewResolver() {
  85. UrlBasedViewResolver resolver = new UrlBasedViewResolver();
  86. resolver.setPrefix("/WEB-INF/views/");
  87. resolver.setSuffix(".jsp");
  88. resolver.setViewClass(JstlView.class);
  89. return resolver;
  90. }
  91. @Bean(name = "dataSource")
  92. public DriverManagerDataSource dataSource() {
  93. DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
  94. driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver");
  95. driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/employee_db");
  96. driverManagerDataSource.setUsername("root");
  97. driverManagerDataSource.setPassword("mysql");
  98. return driverManagerDataSource;
  99. }
  100.  
  101. private Properties getHibernateProperties() {
  102. Properties properties = new Properties();
  103. properties.put("hibernate.show_sql", "true");
  104. properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
  105. // properties.put("hibernate.hbm2ddl.auto", "update");
  106. properties.put("hibernate.c3p0.minPoolSize", "5");
  107. properties.put("hibernate.c3p0.maxPoolSize", "10");
  108. properties.put("hibernate.c3p0.idleTestPeriod", "300");
  109. properties.put("hibernate.c3p0.timeout", "600");
  110. properties.put("hibernate.c3p0.max_statement", "50");
  111. properties.put("hibernate.c3p0.testConnectionOnCheckout", "false");
  112. properties.setProperty("timeZone", "serverTimezone");
  113. properties.put("hibernate.c3p0.preferredTestQuery", "select 1");
  114. return properties;
  115. }
  116.  
  117.  
  118. @Autowired
  119. @Bean(name = "sessionFactory")
  120. public SessionFactory getSessionFactory(DataSource dataSource) {
  121. LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource);
  122. sessionBuilder.addProperties(getHibernateProperties());
  123. sessionBuilder.scanPackages("com.simplecrud.model");
  124. //sessionBuilder.setInterceptor(new MySQLCalcFoundRowsInterceptor());
  125. return sessionBuilder.buildSessionFactory();
  126. }
  127.  
  128.  
  129. @Autowired
  130. @Bean(name = "transactionManager")
  131. public HibernateTransactionManager getTransactionManager(SessionFactory sessionFactory) {
  132. HibernateTransactionManager transactionManager = new HibernateTransactionManager(sessionFactory);
  133. return transactionManager;
  134. }
  135.  
  136.  
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement