Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.06 KB | None | 0 0
  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
  5. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  6. import org.springframework.orm.jpa.JpaTransactionManager;
  7. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  8. import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
  9. import org.springframework.transaction.annotation.EnableTransactionManagement;
  10.  
  11. import javax.sql.DataSource;
  12. import java.util.Properties;
  13.  
  14. @Configuration
  15. @EnableTransactionManagement
  16. public class BancoDeDadosConfig {
  17.  
  18. @Autowired
  19. private DataSource dataSource;
  20.  
  21. @Autowired
  22. private LocalContainerEntityManagerFactoryBean entityManagerFactory;
  23.  
  24. @Bean
  25. public DataSource dataSource() throws ClassNotFoundException {
  26. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  27. dataSource.setDriverClassName("com.mysql.jdbc.GoogleDriver");
  28. dataSource.setUrl("jdbc:google:mysql://urlMeuBancoNaNuvem:us-central1:meuBanco/nomeDaDatabase");
  29. dataSource.setUsername("meuUsuario");
  30. dataSource.setPassword("minhaSenha");
  31.  
  32. return dataSource;
  33. }
  34.  
  35. /**
  36. * Declarando entidate manager factory do JPA
  37. */
  38.  
  39. @Bean
  40. public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  41. LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
  42.  
  43. entityManagerFactory.setDataSource(dataSource);
  44.  
  45. // escaneando pacote atras de classes anotadas
  46. entityManagerFactory.setPackagesToScan(" ... meuPacote .. ");
  47.  
  48. //vendor
  49. HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  50. entityManagerFactory.setJpaVendorAdapter(vendorAdapter);
  51.  
  52. //propriedades do Hibernate
  53. Properties propriedades = new Properties();
  54. propriedades.put("hibernate.dialect", "org.hibernate.dialect.MySQL57Dialect");
  55. propriedades.put("hibernate.show_sql", "true");
  56. propriedades.put("hibernate.hbm2ddl.auto", "update");
  57.  
  58. entityManagerFactory.setJpaProperties(propriedades);
  59.  
  60. return entityManagerFactory;
  61. }
  62.  
  63. /**
  64. * Transação
  65. */
  66. @Bean
  67. public JpaTransactionManager transactionManager() {
  68. JpaTransactionManager transactionManager = new JpaTransactionManager();
  69. transactionManager.setEntityManagerFactory(entityManagerFactory.getObject());
  70.  
  71. return transactionManager;
  72. }
  73.  
  74. @Bean
  75. public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
  76. return new PersistenceExceptionTranslationPostProcessor();
  77. }
  78. }
  79.  
  80. <?xml version="1.0" encoding="UTF-8"?>
  81. <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  82.  
  83. <version>1</version>
  84. <threadsafe>true</threadsafe>
  85. <runtime>java8</runtime>
  86.  
  87. <use-google-connector-j>true</use-google-connector-j>
  88.  
  89. <system-properties>
  90. <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
  91. </system-properties>
  92.  
  93. </appengine-web-app>
  94.  
  95. arquivo vazio
  96.  
  97. <?xml version="1.0" encoding="UTF-8"?>
  98. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  99. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  100. <modelVersion>4.0.0</modelVersion>
  101.  
  102. <groupId>com.meuProjeto</groupId>
  103. <artifactId>App</artifactId>
  104. <version>0.0.1-SNAPSHOT</version>
  105. <packaging>war</packaging>
  106.  
  107. <name>App</name>
  108. <description>Demo project for Spring Boot</description>
  109.  
  110. <parent>
  111. <groupId>org.springframework.boot</groupId>
  112. <artifactId>spring-boot-starter-parent</artifactId>
  113. <version>2.0.0.RELEASE</version>
  114. <relativePath/> <!-- lookup parent from repository -->
  115. </parent>
  116.  
  117. <properties>
  118. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  119. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  120. <java.version>1.8</java.version>
  121.  
  122. <appengine.sdk.version>1.9.63</appengine.sdk.version>
  123. </properties>
  124.  
  125. <dependencies>
  126. <dependency>
  127. <groupId>org.springframework.boot</groupId>
  128. <artifactId>spring-boot-starter-web</artifactId>
  129.  
  130. <exclusions>
  131. <exclusion>
  132. <groupId>org.springframework.boot</groupId>
  133. <artifactId>spring-boot-starter-tomcat</artifactId>
  134. </exclusion>
  135. </exclusions>
  136. </dependency>
  137.  
  138. <dependency>
  139. <groupId>org.springframework.boot</groupId>
  140. <artifactId>spring-boot-starter-test</artifactId>
  141. <scope>test</scope>
  142. </dependency>
  143.  
  144. <dependency>
  145. <groupId>org.springframework.boot</groupId>
  146. <artifactId>spring-boot-starter-security</artifactId>
  147. </dependency>
  148.  
  149. <dependency>
  150. <groupId>javax.servlet</groupId>
  151. <artifactId>javax.servlet-api</artifactId>
  152. <version>3.1.0</version>
  153. <scope>provided</scope>
  154. </dependency>
  155.  
  156. <dependency>
  157. <groupId>com.google.appengine</groupId>
  158. <artifactId>appengine-api-1.0-sdk</artifactId>
  159. <version>${appengine.sdk.version}</version>
  160. </dependency>
  161.  
  162. <dependency>
  163. <groupId>org.slf4j</groupId>
  164. <artifactId>jul-to-slf4j</artifactId>
  165. <scope>provided</scope>
  166. </dependency>
  167.  
  168. <dependency>
  169. <groupId>mysql</groupId>
  170. <artifactId>mysql-connector-java</artifactId>
  171. <version>6.0.6</version>
  172. </dependency>
  173.  
  174. <dependency>
  175. <groupId>com.google.cloud.sql</groupId>
  176. <artifactId>mysql-socket-factory-connector-j-6</artifactId>
  177. <version>1.0.2</version>
  178. </dependency>
  179.  
  180. <dependency>
  181. <groupId>org.springframework.boot</groupId>
  182. <artifactId>spring-boot-starter-data-jpa</artifactId>
  183. </dependency>
  184.  
  185. <dependency>
  186. <groupId>org.hibernate</groupId>
  187. <artifactId>hibernate-entitymanager</artifactId>
  188. <version>5.2.8.Final</version>
  189. </dependency>
  190.  
  191. </dependencies>
  192.  
  193. <build>
  194. <plugins>
  195. <plugin>
  196. <groupId>org.springframework.boot</groupId>
  197. <artifactId>spring-boot-maven-plugin</artifactId>
  198. </plugin>
  199.  
  200. <!--configuração para execução local-->
  201. <plugin>
  202. <groupId>com.google.cloud.tools</groupId>
  203. <artifactId>appengine-maven-plugin</artifactId>
  204. <version>1.3.1</version>
  205. </plugin>
  206.  
  207. <!--configuração para depuração local-->
  208. <!--<plugin>-->
  209. <!--<groupId>com.google.appengine</groupId>-->
  210. <!--<artifactId>appengine-maven-plugin</artifactId>-->
  211. <!--<version>${appengine.sdk.version}</version>-->
  212. <!--<configuration>-->
  213. <!--<jvmFlags>-->
  214. <!--<jvmFlag>-Xdebug</jvmFlag>-->
  215. <!--<jvmFlag>-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n</jvmFlag>-->
  216. <!--</jvmFlags>-->
  217. <!--</configuration>-->
  218. <!--</plugin>-->
  219.  
  220. </plugins>
  221. </build>
  222. </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement