在应用程序启动时启动 HSQLDB 数据库管理器?
Posted
技术标签:
【中文标题】在应用程序启动时启动 HSQLDB 数据库管理器?【英文标题】:Start HSQLDB database manager on application startup? 【发布时间】:2011-06-27 09:21:26 【问题描述】:当我在本地开发环境中工作时,是否可以以某种方式自动启动 HSQLDB 数据库管理器?我现在正在使用内存数据库。在运行测试用例时,我发现了一些代码来启动数据库管理器。这也可以在启动 Web 应用程序时使用吗?
org.hsqldb.util.DatabaseManagerSwing.main(new String[] "--url","jdbc:hsqldb:mem:moviecollection", "--noexit" );
【问题讨论】:
【参考方案1】:我假设您正在使用 Spring,因为您用它标记了您的问题。你可以创建一个 Spring bean,它的方法用 JSR-250 annotation@PostConstruct
注释。用@PostConstruct
注解的方法表示该方法应该在bean创建完成并且依赖注入完成后调用。
@Component
public class Initializer
@PostConstruct
public void init()
org.hsqldb.util.DatabaseManagerSwing.main(new String[] "--url","jdbc:hsqldb:mem:moviecollection", "--noexit" );
如果您使用 Web 应用程序启动 DatabaseManagerSwing
,它将被创建并显示在您可能不想做的 WAR 运行的服务器上。
【讨论】:
【参考方案2】:您不需要明确启动它。如果你配置连接url并添加jar就足够了。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:hsqldb:mem:demo"/>
<property name="username" value="sa"/>
<property name="password" value=""/> <
</bean>
【讨论】:
嗯,也许我有点不清楚。我不是在问如何启动数据库本身,我已经这样做了。我想知道如何启动数据库管理器,以便我可以浏览我的表等。 你为什么不创建一个脚本来随时执行管理器呢? (操作系统启动,或在脚本中包含 IDE 的启动等)【参考方案3】:如果你使用 maven try exec java program,将其绑定到 deploy 目标
我相信基于 ant 的项目也有类似的解决方案
【讨论】:
以上是关于在应用程序启动时启动 HSQLDB 数据库管理器?的主要内容,如果未能解决你的问题,请参考以下文章
每次重新启动 HSQLDB 服务器时都必须设置 HSQLDB SA 密码吗?