Aynı bellek içi veritabanına erişecek olan uygulamanızın içinde H2 web sunucusunu çalıştırabilirsiniz . Ayrıca, SquirrelSQL gibi herhangi bir jenerik JDBC istemcisini kullanarak sunucu modunda çalışan H2'ye erişebilirsiniz .
GÜNCELLEME:
Server webServer = Server.createWebServer("-web,-webAllowOthers,true,-webPort,8082").start();
Server server = Server.createTcpServer("-tcp,-tcpAllowOthers,true,-tcpPort,9092").start();
Artık jdbc:h2:mem:foo_db
aynı işlem içinde URL aracılığıyla veritabanınıza bağlanabilir veya foo_db
kullanarak veritabanına göz atabilirsiniz localhost:8082
. Her iki sunucuyu da kapatmayı unutmayın. Ayrıca bkz: Bellek modundaki H2 veritabanına Konsol ile erişilemez .
Ayrıca Spring'i de kullanabilirsiniz:
<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>
BTW, veritabanı içeriğine manuel olarak göz atmaya değil, yalnızca iddialara güvenmelisiniz. Bunu yalnızca sorun giderme için kullanın.
Not Spring test çerçevesini kullanırsanız, çalışan bir işlem tarafından yapılan değişiklikleri görmezsiniz ve bu işlem testten hemen sonra geri alınır.