2017-07-27 44 views
0

我有一個小彈簧引導項目成Maven的拉在Spring Boot中什麼告訴應用程序使用數據庫?

  • 彈簧引導起動數據JPA
  • 彈簧引導啓動數據休息
  • H2

等。我沒有任何DataSource引用,但有JpaRepository和UserDetailsS​​ervice。

那麼,Spring庫是如何決定使用Hibernate的(顯示在控制檯中登錄的),我猜H2是?

我看着這個stackoverflow conversation但我自己的控制檯日誌沒有「h2」或「數據庫」日誌語句。

+1

Spring Boot會自動爲您配置許多內容。如果您在屬性文件中指定數據源,它將知道如何實例化必要的組件。查看更多文檔https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html - 在H2的情況下,你甚至不需要那樣做許多。 從文檔** Spring Boot可以自動配置嵌入式H2,HSQL和Derby數據庫。您不需要提供任何連接URL,只需在您要使用的嵌入式數據庫中包含構建依賴項即可。** – ochi

回答

0

您應該將「schema.sql」添加到src/main/resource中。它必須匹配你的實體類。春季靴子會照顧其餘的。 也是你最好寫這篇文章到您的application.properties

spring.jpa.hibernate.ddl.auto=create-drop 

您也可以使用MySQL而不是H2工作。刪除h2依賴關係,添加mysql連接器依賴項並將它們添加到application.properties中

spring.datasource.url=jdbc:mysql://localhost/test 
spring.datasource.username=dbuser 
spring.datasource.password=dbpass 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
相關問題