我正在尝试连接到 H2 数据库。我正在使用 Spring Boot。
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
应用程序属性
# DataSource settings: set here your own configurations for the database
spring.datasource.url=jdbc:h2:tcp://localhost/~/villagebank
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create
# H2 settings
spring.h2.console.enabled=true
spring.h2.console.path=/h2
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
我打开http://localhost:8090/h2
它,我进入登录页面,我按下Test connection
它,我得到一个错误。
如何解决这个问题呢?我试图去首选项,但我需要一个管理员密码,我没有,我在谷歌搜索它并没有找到任何信息。因此,我在应用程序中执行的所有其他操作也会导致错误。
IDEA中的H2连接画面
在 Spring Boot 应用程序中设置 H2 数据库
连接到数据库的正确 URL,位于
在主文件夹的磁盘上:jdbc:h2:~/dbname;
在当前目录的磁盘上:jdbc:h2:./path/to/database;
在内存中:jdbc:h2:mem:dbname
在 Spring Boot 中,对于嵌入式数据库,它被用作
testdb
默认数据库名称(参见DATA PROPERTIES/DATASOURCE/spring.datasource.name)因此,要在 Spring Boot 中使用 H2,默认情况下,您需要使用以下连接参数:
您
application.properties
不需要指定它们 - Spring Boot 将使用默认参数提升数据库(如果项目中存在 H2)。明确地说,这些属性只有在您想更改数据库名称或将其放在磁盘上时才有意义。在开发 Spring Boot 应用程序时要使用 H2 数据库,我建议不要使用内置的 H2 控制台,而是使用以下方法,它允许您直接在 IDE 中连接数据库(或其他更方便的工作工具与数据库比 H2 控制台):
在 H2 依赖设置中删除范围“运行时”:
在带有
@Configuration
(或在 class 中Application
)的类中,我们声明 H2 服务器 bean(我们将在 Spring Boot 配置文件“dev”中包含它):我们启动应用程序,然后在 IDE 中连接数据库
相关资料:
如何从另一个 Spring Boot 应用程序访问一个 Spring Boot 应用程序的内存 H2 数据库
H2DB 的默认 url 和凭据