java - 我无法连接到 H2 数据库
问题描述
我正在看一个关于使用数据库的培训项目。主库是MySQL,测试用的是H2,这里有一个教程:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
application.properties 文件中指定了以下设置:
jdbc:
driverClassName: org.h2.Driver
pool.size.max: 10
statement.timeout: 0
url: jdbc:h2:mem:mytestdb;DB_CLOSE_ON_EXIT=FALSE
username: sa
password:
测试通过,即数据输入数据库,检查,一切正常。
但是当我在调试模式下运行测试时,在测试结束时下一个断点并尝试连接数据库,它是空的,甚至没有表,更不用说数据了。要连接,我使用 Dbever。在连接字符串中,我写了 jdbc:h2:mem:mytestdb;DB_CLOSE_ON_EXIT=FALSE (我试过 jdbc:h2:tcp://localhost:9092/mem:mytestdb)。检查连接通过,写道一切正常,连接建立。可能是什么问题呢?
我尝试写入文件,而不是 url:jdbc:h2:mem:ump-currencymanager; DB_CLOSE_ON_EXIT=FALSE 我写了: url: jdbc:h2:file:c:\logs\logdb 这个文件是我用Dbever打开的时候创建的,连表都在那里,但是表本身没有数据。
研究了有关该主题的类似问题。
@Test
public void createPeopleTable() throws SQLException {
int count = peopleService.count();
assertEquals(0, count);
peopleService.createPeopleTable();
count = peopleService.count();
assertEquals(34, count);
}
解决方案
推荐阅读
- ios - 如何在 watchkit 中在睡眠模式下使用定时器
- c++ - 矩形没有正确绘制?
- time-series - 具有多元协变量的 ARIMA 模型?
- laravel - Laravel 会话更改在 2 个页面重新加载/重定向后不会持续存在
- swift - SwiftUI:在 tvOS 上获取当前关注的 NavigationView 项目索引
- .net - Azure 管道 - dotnet 发布覆盖 VSBuild .zip 然后抱怨找不到它们
- python - Python Web 应用程序 - 关于长时间请求的问题
- r - 如何将重复节点修剪到最近的共同祖先?数据树 R
- visual-studio-code - vscode 自动导入 import * as console from 'console'
- java - 将 HTTP 请求中的多个参数发送到 NetBeans 时,我的 @Path 注释有什么问题?