gpt4 book ai didi

spring - 如何从 Spring Boot 应用程序以服务器模式启动 HSQLDB

转载 作者:行者123 更新时间:2023-12-04 12:25:27 25 4
gpt4 key购买 nike

我有一个 Spring boot 应用程序,使用 jpa 数据和 hsqldb 2.3.3(在 Centos 7 中)运行,该应用程序运行良好,但我想使用 HSQLDB 数据库管理器来检查数据状态,但是它失败了:

应用程序属性:

spring.datasource.url=jdbc:hsqldb:mem:testdb
spring.datasource.username=sa
spring.datasource.password=

spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create

启动 HSQLDB 的命令:
java -cp /home/mycentos/.m2/repository/org/hsqldb/hsqldb/2.3.3/hsqldb-2.3.3.jar org.hsqldb.util.DatabaseManagerSwing

如果我尝试使用 HSQLDB 服务器模式登录,它会弹出 Connection refused错误
jdbc:hsqldb:hsql://localhost/testdb

如果我尝试登录内存数据库,我可以登录但没有显示表和数据
jdbc:hsqldb:hsql:testdb

题:
  • 如何使它起作用?
  • 我是否必须从 tomcat 部署文件夹中引用 hsqldb.jar,因为这是应用程序使用的那个?
  • 从 Spring 应用程序在服务器模式或内存模式下配置 hsqldb 有什么配置差异吗?
  • 任何方法都可以使内存模式在这种情况下工作(通过数据库创建的 Spring boot 检查数据)?
  • 最佳答案

    要访问 Spring Boot 应用程序创建的 HSQL DB,您必须启动 HSQL 服务器。例如,创建一个 XML 配置文件 hsql_cfg.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="hqlServer" class="org.hsqldb.server.Server" init-method="start" destroy-method="stop">
    <property name="properties"><bean class="org.hsqldb.persist.HsqlProperties">
    <constructor-arg><props>
    <prop key="server.database.0">mem:testdb</prop>
    <prop key="server.dbname.0">testdb</prop><!--DB name for network connection-->
    <prop key="server.no_system_exit">true</prop>
    <prop key="server.port">9001</prop><!--default port is 9001 -->
    </props></constructor-arg>
    </bean></property>
    </bean>
    </beans>

    这是在主应用程序类中导入 XML 配置的示例。
    @SpringBootApplication
    @ImportResource(value="classpath:/package/hsql_cfg.xml")
    public class MyApplication {
    }

    HSQL 服务器将以 Spring 启动应用程序启动。其他应用程序可以使用 JDBC url 连接到 HSQL 服务器

    jdbc:hsqldb:hsql://ip_address:port/testdb



    当然, hsqldb.jar加载 JDBC 驱动程序类是必需的。

    关于spring - 如何从 Spring Boot 应用程序以服务器模式启动 HSQLDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114231/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com