好的,我正在开发简单的应用程序,它有Spring Ebedded H2数据库用于开发。 database.xml bean conf看起来像这样:
flup==1.0.3.dev-20110405
H2数据库正在初始化,我的应用正在运行,我正在创建实体,并且它们在Tomcat启动时存储在H2 db中(我知道它因为我使用并检索它们)。但是,当我查看H2控制台时,我的实体表不存在。
我猜H2控制台指向另一个H2数据库,Spring Embedded H2 Db与H2控制台无关。
如何解决这个问题?
编辑:我在网络浏览器中输入 http://localhost:8082 即可访问H2控制台。
答案 0 :(得分:5)
如果您的应用程序不是弹簧启动,则需要在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
如果您的应用程序是基于弹簧启动的,则必须遵循https://springframework.guru/using-the-h2-database-console-in-spring-boot-with-spring-security/