Vous pouvez exécuter H2 serveur web dans votre application qui accéderont à la même base de données en mémoire. Vous pouvez également accéder à H2 en mode serveur à l'aide de n'importe quel client JDBC générique tel que SquirrelSQL .
UPDATE :
Server webServer = Server.createWebServer("-web,-webAllowOthers,true,-webPort,8082").start();
Server server = Server.createTcpServer("-tcp,-tcpAllowOthers,true,-tcpPort,9092").start();
Vous pouvez maintenant vous connecter à votre base de données via jdbc:h2:mem:foo_db
dans le même processus ou parcourir le foo_db
base de données en utilisant localhost:8082
. N'oubliez pas de fermer les deux serveurs. Voir aussi : La base de données H2 en mode mémoire n'est pas accessible par la console. .
Vous pouvez également utiliser Spring :
<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>
En fait, vous ne devriez vous fier qu'aux assertions et non à l'examen manuel du contenu de la base de données. Ne l'utilisez que pour le dépannage.
N.B. Si vous utilisez le cadre de test de Spring, vous ne verrez pas les changements effectués par une transaction en cours d'exécution et cette transaction sera annulée immédiatement après le test.
0 votes
Cela répond-il à votre question ? Inspecter en mémoire hsqldb pendant le débogage