如何连接到Spring使用jdbc:embedded-database时创建的HSQL?

Sla*_*hin 9 spring hsqldb

我有一个Spring自动为我创建的HSQL数据库:

<jdbc:embedded-database id="dataSource" type="HSQL">
    <jdbc:script location="classpath:scheme.sql" /
</jdbc:embedded-database>
Run Code Online (Sandbox Code Playgroud)

现在我想连接到这个数据库.我的问题是如何做到这一点,因为我不知道我应该使用哪个地址.

fre*_*edt 18

这个嵌入式HSQL数据库是全内存和进程内的,因此只能从Spring Java进程访问.如果您还想从其他工具访问数据库,例如使用数据库管理器检查内容,您可以启动具有全内存实例的HSQLDB服务器,然后从Spring和其他工具连接到服务器.

HSQLDB指南中涵盖了这一点http://hsqldb.org/doc/2.0/guide/listeners-chapt.html

使用此命令启动服务器:

java -cp ../lib/hsqldb.jar org.hsqldb.Server --database.0 mem:test --dbname.0 test
Run Code Online (Sandbox Code Playgroud)

您需要使用用户名"SA"和密码""创建Spring数据源.用于配置Spring数据源的数据库驱动程序和URL(来自同一台机器)是:

org.hsqldb.jdbcDriver
jdbc:hsqldb:hsql://localhost/test
Run Code Online (Sandbox Code Playgroud)

  • 比较不可能。您必须手动运行服务器并连接 Spring 应用程序和其他应用程序。在嵌入模式下,您只能在同一个 JVM 中访问。服务器模式有什么问题?你在数据库中保存了什么?为什么每次都用应用程序重新启动数据库? (2认同)
  • 你是对的,我无法从另一个JVM进程连接到HSQL.我用H2控制台来完成它.今天我发现了使用Spring和HSQL实现这一目标的另一种方法:http://www.mkyong.com/spring/spring-view-content-of-hsqldb-embedded-database/ (2认同)

emi*_*lan 6

我建议你使用外部数据库,但是如果你想使用HSQL,那么这可能会帮助你http://java.dzone.com/articles/spring-3-makes-use-embedded-easy