只需从spring初始化程序创建一个简单的spring-boot项目。我去添加本地h2 db进行测试,但无法登录。似乎它无法在启动时创建测试数据库,但无法弄清楚为什么会这样。
spring:
h2:
console:
enabled: true
path: /h2
datasource:
url: jdbc:h2:mem:testdb;
username: sa
password:
driver-class-name: org.h2.Driver
platform: h2
jpa:
show-sql: true
hibernate:
ddl-auto: create
properties:
hibernate:
dialect=org:
hibernate:
dialect:
H2Dialect: org.hibernate.dialect.H2Dialect
Database "mem:testdb" not found, and IFEXISTS=true, so we cant auto-create it [90146-199] 90146/90146
答案 0 :(得分:6)
在spring的早期版本中,默认URL为jdbc:h2:mem:testdb,而testdb是默认创建的。从2.3.0开始,如果未提及url,它将自动生成数据库名称。在春季日志中可以找到自动生成的数据库名称。
答案 1 :(得分:2)
我在Windows上也有同样的问题。我只是将应用程序属性文件中的spring.datasource.url更改为jdbc:h2:file:C:/data/sample
并运行项目。之后,将JDBC URL设置为jdbc:h2:file:C:/data/sample
。看起来像图片
JDBC URL
答案 2 :(得分:1)
只需将其附加到您的 application.properties
文件中即可。
spring.datasource.url=jdbc:h2:mem:testdb
spring.data.jpa.repositories.bootstrap-mode=default
答案 3 :(得分:0)
如Stuck所说。
只需删除分号:
wrong: jdbc:h2:mem:testdb;
correct: jdbc:h2:mem:testdb
答案 4 :(得分:0)
我也有同样的问题。在打http://localhost:8080/h2-console时获得H2数据库控制台但无法连接时,它显示“找不到数据库“ C:/ ******* / test”,并且IFEXISTS = true,因此我们无法自动创建它[90146-199]”。看到以下错误: Error Snapshot
如上所述,尝试使用JDBC Url jdbc:h2:mem:testdb,但运气不好。
任何建议都会有所帮助。
答案 5 :(得分:0)
我遇到了同样的问题,我将Spring Boot的版本更改为2.1.3,并且可以正常工作
答案 6 :(得分:0)
我有同样的错误,我发现这些对您有帮助:
如下所示向pom.xml文件添加2019年前的版本:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.193</version>
</dependency>
这可以修复错误,但不是正确的方法。较新版本的H2数据库不会创建新数据库,因为默认情况下不存在该新数据库,并且出于安全目的将其设置为false。
一种更好的方法是添加对url的更改,例如:
jdbc:h2:mem:testdb;IFEXISTS=FALSE;
希望有帮助。我在application.properties
文件中进行了更改。
答案 7 :(得分:0)
如果您使用 spring boot 来使用 h2 DB,请确保您依赖于 pom.xml
文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
您的 application.yml
可以在应用程序启动后通过 URI /h2-console 访问 h2 DB 并以服务器 URL 开头,并使用用户名“sa”和无密码连接到名为“testdb”的数据库在服务器上。
答案 8 :(得分:-1)
我只是将应用程序属性文件中的spring.datasource.url更改为jdbc:h2:file:C:/ data / test并运行项目。
您可以看到此视频。 https://youtu.be/yYWPuM8k8K4