【发布时间】:2019-09-06 22:40:02
【问题描述】:
我正在学习 Spring boot,我正在尝试创建一个非常简单的 RESTful API,它可以访问内存数据库并执行 CRUD 操作。
但是,每次我尝试在 http://localhost:8080/h2-console 上连接或测试连接时,都会收到此错误:
“找不到数据库“C:/Users/XXX/test”,并且 IFEXISTS=true,所以我们无法自动创建它 [90146-199] 90146/90146”
我完全按照http://www.springboottutorial.com/spring-boot-crud-rest-service-with-jpa-hibernate 的说明进行操作。我已经尝试了所有我可以在网上找到的东西:使用 jdbc:h2:mem:test 作为 JDBC URL 等,但它们都不适合我,我不确定我做错了什么。 我没有从官方网站安装h2数据库,因为我阅读了没有必要使用内存模块(我仍然不知道我是否应该安装它,因为没有提及据我检查,它是在线的)。
有什么想法吗?我是 Spring Boot 的初学者,我真的迷路了。我只想测试 CRUD 操作,并不关心数据库的持久性。
我在下面提供了我的 application.properties。
谢谢! :)
# H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2
# Datasource
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=user
spring.datasource.password=user
spring.datasource.driver-class-name=org.h2.Driver
【问题讨论】:
-
检查应用程序是否真正启动并运行。阅读日志。如果您无法进行任何其他工作,请遵循 spring.io 指南之一(它们可能比 springboottutorial 站点更新,并且还具有只需几分钟即可启动和运行的优势),看看你是否可以在那里重现问题。
-
是的。它工作得很好。控制台上根本没有显示错误,这就是我感到困惑的原因。我也无法将 H2 数据库与 Play Framework 一起使用,因为我也遇到了一些错误(表不存在)。只是为了测试,我刚刚下载了 H2,创建了一个数据库并且它工作正常,哈哈。不知道这里发生了什么,但我真的很想使用内存模块,因为我计划在 github 上发布它来帮助其他也在学习 Spring Boot 的人(所以他们不需要下载 H2 并做我刚刚做了什么)。
-
完成。好吧,我仍然有这个奇怪的错误。有人可以帮我吗?谢谢!
-
不幸的是,目前(19 年 8 月)唯一对我有用的是降级 h2 版本,如相关帖子中所述:stackoverflow.com/questions/55349373/…
标签: spring-boot h2