Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将H2添加到Wildfly,以便我可以查看数据库中的数据?_Java_Intellij Idea_Jboss_Wildfly_H2 - Fatal编程技术网

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

Java 如何将H2添加到Wildfly,以便我可以查看数据库中的数据?,java,intellij-idea,jboss,wildfly,h2,Java,Intellij Idea,Jboss,Wildfly,H2,在投入生产之前,我计划使用ExampleDS(java:jboss/datasources/ExampleDS)进行java开发。它是Wildfly中的默认数据源,为方便开发人员,使用嵌入式H2数据库进行配置。我需要在开发期间查看这些表中的数据。我在IntelliJ发展。右上角有一个“数据库”选项卡。我以前在这里添加了数据库,我可以看到它们的内容。但是我不知道如何添加ExampleDS数据库 然后我尝试了这种方法: 1) 为H2控制台部署预构建的WAR文件:) 2) 打开URL 3) 使用用户名

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

然后我尝试了这种方法: 1) 为H2控制台部署预构建的WAR文件:)

2) 打开URL

3) 使用用户名/password=“sa”登录

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

所以我阅读了关于

它说: 要访问greeter quickstart使用的测试数据库,请输入以下详细信息:

JDBC-URL:JDBC:h2:mem:greeter-quickstart;DB_关闭_上的_退出=错误;DB_关闭_延迟=-1 用户名:sa 密码:sa

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

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

select * from users;
我试过了,但得到了信息

未找到表“用户”

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

java:jboss/datasources/examples

所以我把它改成了

jdbc:h2:mem:greeterquickstart;DB_关闭_上的_退出=错误;DB_关闭_延迟=-1

然后,我在尝试从IntelliJ运行我的JPA应用程序时出错:

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


有人知道我应该如何将我的表添加到H2数据库中,然后查看这些表中的数据吗?

我想你还不清楚其中的一些概念: H2有几个选项可以使用文件作为基础或在内存中创建数据库

内存中的数据不会存储在任何位置,因此,如果您在应用程序中进行如下配置:

jdbc:h2:mem:whatever
jvm在自己的内存中启动一个数据库,该数据库仅对vm可用

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

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

我经常用它来测试,很酷

检查H2备忘表:

我创建了一个JPA程序,它以自动方式创建表。我知道表是创建的,因为我可以从表中进行JPQL搜索并获得搜索结果(实体对象)。我的程序连接到数据源java:jboss/datasources/ExampleDS。那么表不应该在该数据库中吗?当你说ExampleDS时,你指的是jndi名称吗?是的,我指的是persistence.xml文件中的java:jboss/datasources/ExampleDS。包含jndi数据源的名称,应该在jboss中声明。可能在standalon中E