Guest User

Untitled

a guest
Apr 15th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. @SpringBootApplication
  2. @EnableAutoConfiguration
  3. public class DemoApplication {
  4.  
  5. public static void main(String[] args) {
  6. SpringApplication.run(DemoApplication.class, args);
  7. }
  8. }
  9.  
  10. @Configuration
  11. @EnableTransactionManagement
  12. @EnableJpaRepositories(entityManagerFactoryRef = "someEntityManagerFactory", transactionManagerRef = "someTransactionManager", basePackages = {
  13. "com.example.*" })
  14. @EntityScan(basePackages = "com.demo.models")
  15. @ConfigurationProperties(prefix = "mysql.datasource")
  16. public class DataBaseConfig {
  17.  
  18. @Autowired
  19. private Environment env;
  20.  
  21. @Bean
  22. public DataSource someDataSource() {
  23. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  24. dataSource.setDriverClassName(env.getProperty("mysql.datasource.driver-class-name"));
  25. dataSource.setUrl(env.getProperty("mysql.datasource.url"));
  26. dataSource.setUsername(env.getProperty("mysql.datasource.username"));
  27. dataSource.setPassword(env.getProperty("mysql.datasource.password"));
  28. return dataSource;
  29. }
  30.  
  31. @Bean
  32. public LocalContainerEntityManagerFactoryBean someEntityManagerFactory() {
  33. LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
  34. em.setDataSource(someDataSource());
  35. em.setPackagesToScan(new String[] { "org.openlegacy.analytics.models" });
  36. JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  37. em.setJpaVendorAdapter(vendorAdapter);
  38. em.setJpaProperties(additionalProperties());
  39.  
  40. return em;
  41. }
  42.  
  43. @Bean
  44. public PlatformTransactionManager someTransactionManager() {
  45. JpaTransactionManager tm = new JpaTransactionManager();
  46. tm.setEntityManagerFactory(someEntityManagerFactory().getObject());
  47. tm.setDataSource(someDataSource());
  48. return tm;
  49. }
  50.  
  51. Properties additionalProperties() {
  52. Properties properties = new Properties();
  53. properties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("spring.jpa.hibernate.ddl-auto"));
  54. properties.setProperty("hibernate.dialect", env.getProperty("spring.jpa.properties.hibernate.dialect"));
  55. properties.setProperty("spring.jpa.show-sql", env.getProperty("spring.jpa.show-sql"));
  56. properties.setProperty("spring.jpa.hibernate.naming.physical-strategy",
  57. env.getProperty("spring.jpa.hibernate.naming.physical-strategy"));
  58. return properties;
  59. }
  60.  
  61. }
  62.  
  63. @RestController
  64. @RequestMapping("/users")
  65. public class UserController {
  66.  
  67. @Autowired
  68. private UserRepository userRipository;
  69.  
  70. @RequestMapping(value = "", method = RequestMethod.GET)
  71. public List<User> getItems() {
  72. return userRipository.getUsers();
  73. }
  74.  
  75. @RequestMapping(value = "/message", method = RequestMethod.GET)
  76. public String getMessage() {
  77. return userRipository.getMessage();
  78. }
  79.  
  80. }
  81.  
  82. @Transactional
  83. @Repository
  84. public class UserRepository {
  85.  
  86. @PersistenceContext
  87. private EntityManager entityManager;
  88.  
  89. @SuppressWarnings("unchecked")
  90. public List<User> getUsers() {
  91. return entityManager.createQuery("select u from User u").getResultList();
  92. }
  93.  
  94. public String getMessage() {
  95. return "hello";
  96. }
  97. }
  98.  
  99. @Entity(name = "user")
  100. public class User implements Serializable {
  101.  
  102. private static final long serialVersionUID = 1L;
  103.  
  104. @Id
  105. @GeneratedValue(strategy = GenerationType.AUTO)
  106. private Integer id;
  107.  
  108. @Column(name = "user_name")
  109. private String userName;
  110.  
  111. @Column(name = "password")
  112. private String password;
  113.  
  114. public Integer getId() {
  115. return id;
  116. }
  117.  
  118. public void setId(Integer id) {
  119. this.id = id;
  120. }
  121.  
  122. public String getUserName() {
  123. return userName;
  124. }
  125.  
  126. public void setUserName(String userName) {
  127. this.userName = userName;
  128. }
  129.  
  130. public String getPassword() {
  131. return password;
  132. }
  133.  
  134. public void setPassword(String password) {
  135. this.password = password;
  136. }
  137. }
  138.  
  139. # DataSource settings: set here your own configurations for the database connection.
  140. mysql.datasource.username=openlegacy
  141. mysql.datasource.password=openlegacy
  142. mysql.datasource.driver-class-name=com.mysql.jdbc.Driver
  143. mysql.datasource.url=jdbc:mysql://localhost:3306/olbank
  144. spring.jpa.database= MYSQL
  145.  
  146. spring.data.jpa.repositories.enabled=true
  147. #spring.jpa.database-platform=org.hibernate.dialect.MYSQL5Dialect
  148.  
  149. # Show or not log for each sql query
  150. spring.jpa.show-sql = true
  151.  
  152. # Hibernate ddl auto (create, create-drop, update)
  153. spring.jpa.hibernate.ddl-auto = update
  154.  
  155. # Naming strategy
  156. #spring.jpa.hibernate.naming.strategy= org.hibernate.cfg.ImprovedNamingStrategy
  157. spring.jpa.hibernate.naming.physical-strategy= org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
  158.  
  159. # The SQL dialect makes Hibernate generate better SQL for the chosen database
  160. spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
  161.  
  162. @Entity(name = "user")
  163.  
  164. select u from user u
  165.  
  166. em.setPackagesToScan(new String[] { "com.demo.models" });
Add Comment
Please, Sign In to add comment