如何将 H2 控制台连接到嵌入式 Spring H2 DB

2023-12-13

好的,我正在开发一个简单的应用程序,其中有 Spring Embedded H2 数据库用于开发。 database.xml bean 配置如下所示:

<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,-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,-webPort,8082" />
    </bean>

    <jdbc:embedded-database id="dataSource" type="H2" />

H2 数据库正在初始化,我的应用程序正在工作,我正在创建实体,并且当 Tomcat 启动时它们存储在 H2 数据库中(我知道它是因为我使用并检索它们)。但是,当我查看 H2 控制台时,我的实体表不存在。

我猜 H2 控制台指向另一个 H2 数据库,而 Spring Embedded H2 Db 与该 H2 控制台无关。

如何解决这个问题?

编辑:我可以通过输入访问 H2 控制台http://本地主机:8082在我的网络浏览器中。


如果您的应用程序不是 Spring Boot,则需要在 web.xml 文件中添加以下 servlet 配置

!-- H2 Database Console for managing the app's database -->
<servlet>
    <servlet-name>H2Console</servlet-name>
    <servlet-class>org.h2.server.web.WebServlet</servlet-class>
    <init-param>
        <param-name>-webAllowOthers</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>H2Console</servlet-name>
    <url-pattern>/admin/h2/*</url-pattern>
</servlet-mapping>

<!-- Handles requests into the application -->

请查看更多详情https://github.com/spring-projects/greenhouse/blob/master/src/main/webapp/WEB-INF/web.xml

如果您的应用程序是基于 spring boot 的,那么您必须遵循https://springframework.guru/using-the-h2-database-console-in-spring-boot-with-spring-security/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 H2 控制台连接到嵌入式 Spring H2 DB 的相关文章

  • CustomTaskChange 在调用 updateSQL 时实际执行

    我有一个CustomTaskChange在 Liquibase 中 除了其他变更集 我希望我的应用程序在实际执行之前显示所有 ChangeSet 的 SQL 以我的理解 updateSQL应该预览 SQL 并且不执行任何操作 ACustom
  • SQLite同时读写

    我读过很多主题 但无法找到问题的答案 是否可以同时读写 我有后台线程更新一些数据 UI 需要存储在数据库中的一小部分数据 所以在UI线程中执行SELECT操作 但当更新正在进行时它会阻塞 结果 UI 冻结了几秒钟 有人在写入时成功从数据库读
  • 需要有关使用 PHP 在 mysql 数据库中插入逗号分隔数据的帮助

    数据库表中已有的演示数据 INSERT INTO csvtbl ID SKU Product Name Model Make Year From Year To VALUES 1 C2AZ 3B584 AR Power Steering P
  • Appengine - 隐藏文件夹的部署

    为了验证 SSL 证书 我需要将包含一些文件的隐藏文件夹 well known 上传到我的应用程序 我正在使用 eclipse 部署 java 应用程序 但 appengine 上的应用程序未收到这些文件 我猜他们被过滤掉了 我尝试将隐藏文
  • 如何使用 Java2D 创建硬件加速图像?

    我正在尝试创建一个快速图像生成器 它可以执行大量 2d 转换和形状渲染 因此我尝试使用 BufferedImage 然后获取 Graphics2D 对象来执行所有绘图 我现在主要关心的是 make 速度非常快 所以我创建一个像这样的 Buf
  • JConsole主类

    我正在尝试使用其 Main 类从命令行启动 JConsole 我提取了 jconsole jar 的内容 在 MANIFEST MF 中我可以看到 Main Class sun tools jconsole JConsole 所以我尝试运行
  • java - IBM-IEEE 双精度浮点字节转换

    我需要在 Java 中对字节数组进行 IBM IEEE 浮点转换 我能够使用成功地进行单精度浮点字节的转换http www thecodingforums com threads c code for converting ibm 370
  • 自 Java 7 以来 HttpServer 延迟 1 秒

    我们正在使用内部HttpServer项目中的类 用于通过 HTTP 在客户端和服务器之间交换数据 当我们切换到 Java 7 时 我们意识到结果交付存在延迟 我们可以将问题简化为以下示例 Class EchoServer创建上下文 echo
  • 如何在 Jersey RESTful Web 服务中放置 cookie?

    我想通过 Jersey API 将 cookie 从 PUT webservice result 放置到 POST webservice 这是我的代码 WebResource service1 client resource http te
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • Eclipse 错误:“设置构建路径”遇到错误

    我正在使用一个名为 jtwitter 的 API 它有一个 jar 文件 jtwitter jar 我一直在使用它并使用 git 维护它 我把代码托管在github上 有些天 我没有碰过它的代码 今天 当我克隆我的 git repo 时 实
  • Guice 字段注入不起作用(返回 null)

    我在使用 Guice 时遇到空值问题 接下来我将向您展示一个类似场景的示例 我知道字段注入是一种不好的做法 但我希望它在演示中像这样工作 我有一个名为B 这是我要注入的 class B Inject public B public void
  • JNA Windows 服务启动类型

    我一直在使用 JNA 并且能够使用下面的代码返回 Windows 服务的状态 即启动或停止 但我不确定如何返回服务的启动类型 我确信 JNA 之外还有其他方法 但如果可能的话我想继续使用 JNA import com sun jna imp
  • 通过命令行参数更改默认的 ant 目标

    最近我被分配了一个任务 让ant能够为不同的环境构建war包 除了一项功能外 我几乎完成了 蚂蚁接受一个env参数类似 Denv DEV 并使用不同的配置文件来制作war包 但默认目标是start它将构建 部署并启动 tomcat 我不希望
  • ElasticSearch - 定义自定义字母顺序进行排序

    我正在使用 ElasticSearch 2 4 2 通过 Java 的 HibernateSearch 5 7 1 Final 我在字符串排序方面遇到问题 我的应用程序的语言有变音符号 它们有特定的字母顺序 订购 例如 直接在之后L 追随O
  • java.lang.Object#getClass() 的 Eclipse 外部空注释

    我正在使用 Eclipse Mars 中提供的外部空注释工具 我正在尝试添加外部注释java lang Object getClass 但似乎无法正确签名 我尝试过以下变体 NonNull Class getClass L1java lan
  • 如何为信号量中等待的线程提供优先级?

    我使用信号量来限制访问函数的线程数量 我希望接下来要唤醒的线程应该由我将给出的某个优先级选择 而不是默认信号量唤醒它们的方式 我们怎样才能做到这一点 这是实现 class MyMathUtil2 implements Runnable do
  • 为什么在 this 方法中添加 If 语句会大大降低速度?

    我在中遇到过这个回答另一个问题 https stackoverflow com questions 12233594 faster way to apply alpha to a jpeg in an android app 我试图诊断哪些
  • 如何使用属性文件在log4j2中创建多个日志文件?

    我正在使用 property 文件在特定路径中创建日志文件 但我正在使用它创建单个文件 以下是我的属性文件代码 status error dest err name PropertiesConfig property filepath ap
  • Hibernate Envers:如何捕获谁删除了审计表中的实体

    我在用hibernate envers with spring 一切工作正常 除了当我删除一个实体时 它不会改变的值updated by and updated date在审计表内 它会在之后保存一个与之前完全相同的实体 仅复制 sprin

随机推荐

  • 如何过滤 CakePHP 中的深层关联

    我有以下表格 活页夹 文档 用户 docs users Doc 属于 Binder Doc hasAndBelongsToMany User 我想获取当前登录用户的活页夹及其关联文档 docs users 表中的关联 user id 我尝试
  • 无需 for 循环即可高效执行一维线性插值

    我正在尝试使用特定精度在 MATLAB 中执行线性插值 我想知道是否有一种有效的方法在 MATLAB 中编写线性插值函数 使其不需要 for 循环并且运行速度非常快 我想将传入的数据修改为特定的位宽 使用 quantize 函数 然后我还想
  • 将 C# double 转换为 Delphi Real48

    我发现了以下问题将 Delphi Real48 转换为 C double但我想走另一条路 从 C 到 Delphi 有谁知道如何做到这一点 我尝试过对代码进行逆向工程 但运气不佳 Update 我正在寻找 C 代码 该代码将采用 doubl
  • 导航栏/选项卡集具有反应性面板编号,但不渲染所有内容

    这个问题似乎是重复的 但让我解释一下为什么不是 我想创造一个闪亮的navbarPage具有固定元素和反应数tabPanels 对其他输入元素做出反应 关于如何创建响应式有很多问题tabsetPanels navbarPages但他们主要是为
  • 如何使用 jQuery 找到元素的绝对位置?

    有没有办法使用 jQuery 查找元素的绝对位置 即相对于窗口开头的位置 offset 将返回元素的偏移位置作为简单对象 例如 var position element offset position left 42 top 567 您可以
  • 以正确方式实现 Android Studio 3.6 时出现的 MultiDex 问题

    我将 Android Studio 更新到 3 6 在一个项目中 我遇到了 MultiDex 问题 并且不断收到此错误Calligraphy和另一个图书馆 E AndroidRuntime FATAL EXCEPTION main Proc
  • Rails:引导下拉菜单不起作用

    我对 Rails 还很陌生 并且一直在关注 Michael Hartl 的教程 一切都进展顺利 直到我进入下拉菜单 该菜单不起作用 然后起作用 现在不起作用 我已经阅读了几篇文章和修复程序 我怀疑我的修修补补已经开始了很简单 我已经做了一些
  • 将 Html.RadioButtonFor 与布尔值一起使用并不是写 Checked="Checked"

    我在使用 RadioButtonFor 帮助程序时遇到问题 当传入的值为 true 时 它 不会在任一单选按钮中显示 检查 当值为 false 时 它 工作得很好 我从我正在处理的项目中复制了这段代码并创建了一个示例应用程序 并且我能够复制
  • DCL 还坏吗?

    据我了解 旧的 JMM 实现惰性单调的 DCL 双重检查锁定 技巧已被破坏 但我认为新的 JMM 和易失性字段已修复它 然而在this不错的文章 显然足够新 可以引用新旧 JMM 和 DCL 中的易失性字段 指出它仍然损坏 我到处读到它已修
  • Spring CORS 不存在“Access-Control-Allow-Origin”标头

    将 web xml 移植到 java 配置后遇到以下问题 No Access Control Allow Origin header is present on the requested resource Origin http loca
  • 反序列化数据不起作用

    过去 5 个小时我一直在做这个 我被难住了 尝试了最荒谬的功能来尝试修复它 但无济于事 我正在从 WP 数据库检索数据 在插入之前 数据已使用以下方法序列化了 1 个数组 serialize 来自 PHP 的函数 然后使用 WP 函数将其插
  • Cocoa Touch,使用哪个:窗口模板还是视图模板?

    我还有另一个与视图相关的问题 我最终在这里处理视图和 Windows 的一般问题 我对 iPhone 开发的所有基础知识的理解都被颠覆了 有人可以解释或指出这两个模板之间的区别吗 例如 我的应用程序在界面生成器中不显示窗口 我应该拥有一个吗
  • 从主机名获取服务器IP地址

    当执行一个NSURLRequest对于主机名 是否可以获得响应来自的服务器的 IP 地址 The NSURL method NSString host 只是返回主机名 我看不出有什么办法可以从其他任何一个获取 IP 地址NSURL方法 也许
  • Java:使用 >、< 和 == 比较对象

    是否可以使用运算符正确比较对象 gt lt and 在Java中 我已经实施了Comparable我的一个对象中的接口 这样可以节省一些时间 而且写起来也很好 if obj1 lt obj2 do sth 代替 if obj1 compar
  • 张量流中二维数组最小值到最大值的排序

    我有一个数组 x1 tf Variable 0 51 0 52 0 53 0 94 0 35 0 32 0 72 0 83 0 74 0 55 0 23 0 72 0 63 0 64 0 35 0 11 0 02 0 03 0 14 0 1
  • 增加 OS X Lion 中的堆栈大小

    我需要为需要大量堆栈的 C 程序执行此操作 我使用 g 包含在 OS X Lion 中 来编译它 我怎样才能为我的程序增加它 From http developer apple com library mac qa qa1419 index
  • 从java中的字符串中解析负前缀整数

    您好 我有一个类似于 10 1 30 2 的字符串 我想读取空格之间的数字 我可以使用 FOR 语句和代码来做到这一点 Character toString myString charAt i and Integer parseInt my
  • R markdown asis 破坏了有效的 html 代码

    我有一个输出可以正确渲染的 html 代码的函数 但是将其封装在带有 results asis 的 markdown 文档 R 代码块中失败 我将问题追溯到 HTML 代码中的空格 我喜欢这些空格 因为它们使阅读原始 HTML 文件变得更容
  • 将子节点追加到父节点中

    我需要将子节点附加到父节点中 order h下的order no等于order d的下一个兄弟节点 应该合并到父节点order h 这是 XML
  • 如何将 H2 控制台连接到嵌入式 Spring H2 DB

    好的 我正在开发一个简单的应用程序 其中有 Spring Embedded H2 数据库用于开发 database xml bean 配置如下所示