如何将H2添加到Wildfly中,以便我可以查看数据库中的数据



在投入生产之前,我计划使用ExampleDS(java:jboss/datasources/ExampleDS(进行java开发。它是Wildfly中的默认数据源,为方便开发人员使用嵌入式H2数据库进行配置。在开发过程中,我需要查看这些表中的数据。我在IntelliJ发展。右上角有一个"数据库"选项卡。我以前在这里添加过数据库,我可以看到它们的内容。但是我不知道如何添加ExampleDS数据库。

然后我尝试了这种方法:1( 为H2控制台部署预构建的WAR文件:https://www.cs.hs-rm.de/~knauf/JavaEE6/kuchen/H2Console.war(

2( 打开URLhttp://localhost:8080/H2Console/h2

3( 使用用户名/密码="sa"登录

然后我可以访问H2控制台。然而,使用默认JDBC URL登录是不可能的java:jboss/datasources/ExampleDS我试过使用名称和密码sa,但它总是说"错误的密码"。

所以我阅读了https://developers.redhat.com/quickstarts/eap/h2-console/

上面写着:要访问迎宾快速启动使用的测试数据库,请输入以下详细信息:

JDBC URL:JDBC:h2:mem:greetiner quickstart;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1用户名:sa密码:sa

所以我试过了,我终于可以连接了。但数据库中似乎没有表。文件上写着:

看看迎宾应用程序添加的数据。运行以下SQL命令:

select * from users;

我试过了,但收到了的消息

未找到表"USERS">

我在JPA应用程序中创建的表也找不到。我想这是因为我的持久性文件指向

java:jboss/datasources/ExampleDS-

所以我把它改成

jdbc:h2:mem:greetiner快速启动;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1

然后我在尝试从IntelliJ:运行我的JPA应用程序时出现了这个错误

"WFLYCTL0412:未安装的必需服务:"=>["jboss.naming.context.java.jdbc:h2:mem:greetiner quickstart;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1"],"WFLYCTL0180:缺少/不可用依赖项的服务"=>[

anypne知道我应该如何进行这项工作吗?将我的表添加到H2数据库中,然后查看这些表中的数据?

我认为有些概念还不清楚:H2有几个选项来创建数据库,使用文件作为基础或在内存中。

内存中没有存储在任何地方,因此,如果你在应用程序中这样配置它:

jdbc:h2:mem:whatever

jvm在自己的内存中启动一个数据库,该数据库仅可用于vm。

如果你想从外部连接,我建议使用嵌入式或服务器模式。

Ofc内存中的数据库将为空,您必须在启动时填充它。

我经常用它来测试。很酷。

检查H2备忘单:https://www.h2database.com/html/cheatSheet.html

相关内容

最新更新