Sie können den H2 -Webserver in Ihrer Anwendung ausführen , der auf dieselbe speicherinterne Datenbank zugreift. Sie können auch mit einem generischen JDBC-Client wie SquirrelSQL auf den H2 zugreifen, der im Servermodus ausgeführt wird .
AKTUALISIEREN:
Server webServer = Server.createWebServer("-web,-webAllowOthers,true,-webPort,8082").start();
Server server = Server.createTcpServer("-tcp,-tcpAllowOthers,true,-tcpPort,9092").start();
Jetzt können Sie jdbc:h2:mem:foo_db
innerhalb desselben Prozesses über eine URL eine Verbindung zu Ihrer Datenbank herstellen oder die foo_db
Datenbank mit durchsuchen localhost:8082
. Denken Sie daran, beide Server zu schließen. Siehe auch: Auf die H2-Datenbank im Speichermodus kann die Konsole nicht zugreifen .
Sie können auch Spring verwenden:
<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop" depends-on="h2WebServer">
<constructor-arg value="-tcp,-tcpAllowOthers,true,-tcpPort,9092"/>
</bean>
<bean id="h2WebServer" class="org.h2.tools.Server" factory-method="createWebServer" init-method="start" destroy-method="stop">
<constructor-arg value="-web,-webAllowOthers,true,-webPort,8082"/>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" depends-on="h2Server">
<property name="driverClass" value="org.h2.Driver"/>
<property name="jdbcUrl" value="jdbc:h2:mem:foo_db"/>
</bean>
Übrigens sollten Sie sich nur auf Behauptungen verlassen und nicht auf das manuelle Durchsuchen des Datenbankinhalts. Verwenden Sie dies nur zur Fehlerbehebung.
Hinweis: Wenn Sie das Spring-Test-Framework verwenden, werden keine Änderungen angezeigt, die von einer laufenden Transaktion vorgenommen wurden, und diese Transaktion wird unmittelbar nach dem Test zurückgesetzt.