2017-07-27 42 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 
相关问题