Advertisement
Guest User

Untitled

a guest
Aug 28th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.66 KB | None | 0 0
  1. package com.gawryluk.konrad.configuration;
  2.  
  3. import org.hibernate.SessionFactory;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.ComponentScan;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  9. import org.springframework.orm.hibernate5.HibernateTransactionManager;
  10. import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
  11. import org.springframework.transaction.annotation.EnableTransactionManagement;
  12.  
  13. import java.util.Properties;
  14.  
  15. @Configuration
  16. @ComponentScan(basePackages = "com.gawryluk.konrad")
  17. @EnableTransactionManagement
  18. public class SpringRootConfiguration {
  19.  
  20.     @Bean
  21.     public LocalSessionFactoryBean sessionFactory() {
  22.         LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
  23.         sessionFactory.setDataSource(dataSource());
  24.         sessionFactory.setPackagesToScan("com.gawryluk.konrad.entity");
  25.         sessionFactory.setHibernateProperties(hibernateProperties());
  26.         return sessionFactory;
  27.     }
  28.  
  29.     @Bean
  30.     public DriverManagerDataSource dataSource() {
  31.         DriverManagerDataSource dataSource = new DriverManagerDataSource();
  32.         dataSource.setDriverClassName("com.mysql.jdbc.Driver");
  33.         dataSource.setUrl("jdbc:mysql://localhost:3306/ContactBook");
  34.         dataSource.setUsername("root");
  35.         dataSource.setPassword("1234");
  36.         dataSource.setConnectionProperties(connectionProperties());
  37.         return dataSource;
  38.     }
  39.  
  40.     private Properties connectionProperties() {
  41.         Properties properties = new Properties();
  42.         properties.put("useSSL", "false");
  43.         properties.put("serverTimezone", "UTC");
  44.         properties.put("characterEncoding", "utf8");
  45.         properties.put("createDatabaseIfNotExist", "true");
  46.         return properties;
  47.     }
  48.  
  49.     private Properties hibernateProperties() {
  50.         Properties properties = new Properties();
  51.         properties.put("hibernate.dialect", "com.gawryluk.konrad.configuration.MySQL5DialectExtension");
  52.         properties.put("hibernate.show_sql", "false");
  53.         properties.put("hibernate.format_sql", "false");
  54.         properties.put("hibernate.hmb2ddl.auto", "update");
  55.         return properties;
  56.     }
  57.  
  58.     @Bean
  59.     @Autowired
  60.     public HibernateTransactionManager transactionManager(SessionFactory sessionFactory) {
  61.         HibernateTransactionManager transactionManager = new HibernateTransactionManager();
  62.         transactionManager.setSessionFactory(sessionFactory);
  63.         return transactionManager;
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement