首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么每次启动Spring Boot应用程序时我的h2数据库都是空的?

每次启动Spring Boot应用程序时,H2数据库都是空的的原因可能是因为H2数据库的数据是存储在内存中的,默认情况下,当应用程序关闭时,内存中的数据会被清空。

为了解决这个问题,可以通过配置H2数据库的持久化方式来保留数据。具体来说,可以将H2数据库的持久化模式设置为文件模式或嵌入式模式。

  1. 文件模式:在这种模式下,H2数据库的数据将被持久化到磁盘上的文件中。可以通过在应用程序的配置文件(如application.properties或application.yml)中添加以下配置来启用文件模式:
  2. 文件模式:在这种模式下,H2数据库的数据将被持久化到磁盘上的文件中。可以通过在应用程序的配置文件(如application.properties或application.yml)中添加以下配置来启用文件模式:
  3. 其中/path/to/database是数据库文件的路径。
  4. 嵌入式模式:在这种模式下,H2数据库的数据将被持久化到应用程序的文件系统中。可以通过在应用程序的配置文件中添加以下配置来启用嵌入式模式:
  5. 嵌入式模式:在这种模式下,H2数据库的数据将被持久化到应用程序的文件系统中。可以通过在应用程序的配置文件中添加以下配置来启用嵌入式模式:
  6. DB_CLOSE_DELAY=-1的作用是在应用程序关闭时不关闭数据库连接,从而保留数据。

另外,还可以使用H2数据库的Web控制台来查看和管理数据库中的数据。可以通过在应用程序的配置文件中添加以下配置来启用H2数据库的Web控制台:

代码语言:txt
复制
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

然后,在浏览器中访问http://localhost:8080/h2-console即可打开H2数据库的Web控制台。

推荐的腾讯云相关产品:腾讯云云数据库MySQL、腾讯云云数据库TDSQL、腾讯云云数据库MongoDB等。你可以通过访问腾讯云官网(https://cloud.tencent.com/)了解更多关于这些产品的详细信息。

相关搜索:为什么每次我重新加载页面时我的localStorage都是空的?每次我重新连接到MySQL数据库时,所有的表都是空的在Magento 1.8中,每次我访问产品页面时,我的购物车都是空的为什么我的spring boot应用程序先是失败,然后突然在cloudfoundry中启动?在Spring Boot应用程序中找不到我的h2数据库为什么我的Spring Boot应用程序在配置后仍无法启动执行器为什么在启动spring boot microservce时,Liquibase没有在postgres中创建我的表?创建名为'entityManagerFactory‘的bean时,新的spring boot应用程序启动失败为什么每次加载页面时,我的窗口滚动功能都会启动,而不是在每次更改时启动?尝试将行插入Spring boot应用程序中的H2数据库时出现主键冲突异常如果我添加cascade = CascadeType.ALL,为什么我的spring boot应用程序死了?由于找不到'javax.sql.DataSource‘,无法启动我的spring boot应用程序我在我的Spring Boot项目中使用了h2 DB。我可以连接到h2 consle,但没有创建数据库基于文件的H2数据库在Spring boot/Hibernate应用程序上不工作为什么通过H2进行spring-boot测试,而它却将数据写入我本地的mysql数据库?为什么我的Spring webflux应用程序在每次请求时都会生成临时文件?如何使用Spring Boot中的属性在应用程序启动时动态创建bean在使用JPA和derby数据库启动我的spring boot应用程序时,出现表未找到错误。当使用Spring boot和Spring JPA时-为什么我不能为依赖中的实体生成模式?当我使用find by查询时,spring boot jpa正在更新我的数据库
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot 和 Hibernate 的 H2 数据库配置来进行启动测试

希望在 Spring Boot 中配置 H2 数据库来进行功能测试。 如何进行配置能来让启动的时候自动载入数据和进行测试?...spring.datasource.driverClassName H2 的 JDBC 驱动名称,你需要配置这个才能够通过 JDBC 访问启动后的 H2 数据库。...spring.datasource.username 访问数据库的用户名,你可以输入任何名称,在通过网页访问的时候,你需要输入的用户名为这个。 如果你不指定密码参数的话,那么密码就为空。...spring.datasource.schema Spring 启动的时候需要载入的 sql 文件。这个文件将会在 Spring 启动后被执行,创建数据库表和插入测试数据等。...如果一切顺利,当你启动 Spring Boot 的时候,你应该能够在控制台上看到连接池中的连接保持情况。

1.6K20

Spring Boot 面试题精华

在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。 问题十 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?...商业业务逻辑在商业层或者服务层,与此同时,你想要执行的业务管理也在该层。 问题二十五 使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要 哪些依赖项?...web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: 需要注意的一些地方: 一个内部数据内存只在应用程序执行期间存在。这是学习框架的有效方式。 这不是你希望的真是世界应用程序的方式。...让我们以 MySQL 为例来思考这个问题: 问题二十九 Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数 据库名字是 testdb?...如果你使用了 H2 内部存储数据库,它里面确定了 Spring Boot 用来安装你的 H2 数据库的名字。 问题三十 如果 H2 不在类路径里面,会出现上面情况?

16.3K40
  • 面试必问的40个SpringBoot面试题!需要的拿走SpringBoot面试题【建议收藏】

    ** **31、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?** **32、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?...Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。 开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。...它还提供H2数据库控制台以更好地测试应用程序。...在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。 13、Spring Boot中的监视器是什么?...后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。 31、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?

    12.4K31

    Spring Boot 面试题

    Spring Boot 也提供了其它的启动器项目包括,包括用于开发特定类型应用程序的典型依赖项。...在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。 问题十一 什么是嵌入式服务器?...商业业务逻辑在商业层或者服务层,与此同时,你想要执行的业务管理也在该层。 问题二十六 使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?...问题三十 Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?...如果你使用了 H2 内部存储数据库,它里面确定了 Spring Boot 用来安装你的 H2 数据库的名字。 问题三十一 如果 H2 不在类路径里面,会出现上面情况?

    1.4K10

    Spring Boot和内存数据库中H2的使用教程

    在这种情况下,内存数据库提供了理想的解决方案。 应用程序启动时会创建内存数据库,并在应用程序停止时销毁。...Spring Boot与H2的集成非常好。H2是用Java编写的关系数据库管理系统。它可以嵌入Java应用程序中,也可以在客户端 - 服务器模式下运行。 H2支持SQL标准的子集。...H2还提供了一个Web控制台来维护数据库。 Spring Boot和H2 您需要很少的配置才能将Spring Boot应用程序与H2连接。 在大多数情况下,只需将H2运行时jar添加到依赖项中即可。...Boot启动时发现classpath中有m2就默认启动,同时建立product对应的H2数据表。...但是,如果连接到mysql数据库,Spring Boot会知道它是一个永久数据库。默认情况下,它要求您设置数据库,设置表并使用您建立的连接。 Spring Boot应用程序是如何连接数据库H2的?

    5.8K20

    精选的Spring Boot 面试题,帮你整理好了!

    Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。 开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。...它还提供H2数据库控制台以更好地测试应用程序。...在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。 13 Spring Boot中的监视器是什么?...后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。 31 使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?...在 Spring Boot 项目中,当你确保下面的依赖项都在类路里面的时候,你可以加载 H2 控制台。 web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: ?

    3.8K30

    饿了么三面:让你怀疑人生的Spring Boot夺命连环40问

    Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。 开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。...它还提供H2数据库控制台以更好地测试应用程序。...在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。 13、Spring Boot中的监视器是什么?...后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。 31、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?...web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: [4597aa5b4988972f4c518b35394e39d6.png] 需要注意的一些地方: 一个内部数据内存只在应用程序执行期间存在

    1.4K40

    SpringBoot配置使用H2数据库

    什么是h2数据库? H2是一个Java编写的关系型数据库,它可以被嵌入Java应用程序中使用,或者作为一个单独的数据库服务器运行。...##数据初始化设置 #进行该配置后,每次启动程序,程序都会运行resources/db/schema.sql文件,对数据库的结构进行操作。...YOUR_URL是你程序的访问URl。 path: /h2 #进行该配置,程序开启时就会启动h2 web consloe。...enabled: true 生成内存数据库H2 启动H2数据库有两种方式 第一种: 自动执行.sql文件,每次重新启动项目是,都会去运行一次操作文件 DROP TABLE IF EXISTS `student...,借用Spring Data Jpa的注解,启动时自动创建内存数据库 @Entity @Data @Accessors(chain = true) @Table(name = "student") @AllArgsConstructor

    3.9K50

    SpringBoot v2.4.0 正式发布,支持Java15

    知识改变命运,撸码使我快乐,2020继续游走在开源界 点赞再看,养成习惯 给我来个Star吧,点击了解下基于SpringBoot的组件化接口服务落地解决方案 第一时间收到了GitHub推送的...默认支持分层 JAR,减少容器镜像构建 构建 JAR 自动优化,自动删除空的 Starter 支持 Docker / Buildpack 镜像构建,不再需要 fabric8 等插件。...configtree 的属性 新增启动端点,显示当前应用程序的启动程序,可以帮助排除启动过程中 bean 初始化 耗时问题 嵌入式数据库检查逻辑改进,仅当 H2、Derby 基于内存存储时定义为嵌入数据库...低版本的 ElasticSearch 将不会触发 Spring Boot 自动配置,避免启动报错。...如需导出可添加 @AutoConfigureMetrics 注解导出 Redis 缓存指标展示,相当于基于应用维度 redis info H2 内置数据库支持配置管理台账号密码 支持 Apache Cassandra

    1.1K10

    Spring Data JPA(二):SpringBoot集成H2

    H2是Thomas Mueller提供的一个开源的、纯java实现的关系数据库。 前言 本篇文章引导你使用Spring Boot,Spring Data JPA集成H2内存数据库。...数据初始化配置 如果你需要在程序启动时对数据库进行初始化操作,则在application.properties文件中对数据库进接配置 spring.datasource.schema=classpath...spring.datasource.data=classpath:db/data.sql,进行该配置后,每次启动程序,程序都会运行resources/db/data.sql文件,对数据库的数据操作。...这样每次运行程序我都可以得到一个新的数据库。这样就不需要我每次为了测试而修改数据中的内容了。...YOUR_URL是你程序的访问URl。 spring.h2.console.enabled=true,进行该配置,程序开启时就会启动h2 web consloe。

    3.3K10

    springboot启动器

    1 为什么需要Starters 当我们开始一个Spring Boot应用时,想到的一个基本问题是为什么需要Spring Boot Starters?...如前所述,这些启动器可以引导应用程序,我们只需要在应用程序中包含正确的启动器,Spring Boot将确保所选启动器所需的所有依赖项都在类路径中。...(比如我们想使用Thymeleaf) 我们需要确保所有这些依赖项都是兼容的 使用Spring Boot Starters,引入我们的Spring-MVC Web应用程序非常简单,只需要在我们的pom.xml...,你需要更长时间地指定这些数据库配置或额外的数据库配置,通过添加JPA启动器,我们可以使用很多开箱即用的功能,而无需繁琐的配置或编码。...总结 本文提供了Spring Boot Starters简介,我们讨论了为什么需要这些启动器以及它们如何帮助我们快速启动应用程序,同时也探究了一些最常用的Spring Boot Starter

    1.6K10

    Spring Boot 从入门到实践系列教程(2)- 快速入门

    用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架....但是如果使用spring boot呢? 很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!...5.安全 接下来,让我们为我们的应用程序添加安全性 - 首先包括安全启动器: org.springframework.boot...一旦spring-boot-starter-security依赖于应用程序的类路径 - 默认情况下所有端点都是安全的,使用基于Spring Security内容协商策略的httpBasic或formLogin...@EntityScan可以获取我们的JPA实体 为了简单起见,我们在这里使用H2内存数据库 - 这样我们在运行项目时就没有任何外部依赖关系了。

    50420

    Spring Boot魔法:简化Java应用的开发与部署

    在深入了解Spring Boot的魔法之前,让我们先了解一下Spring Boot是什么以及为什么它如此重要。...Spring Boot提供了各种起步依赖,涵盖了数据库访问、消息传递、安全性、测试等各种常见场景。这使得构建各种类型的应用程序变得轻而易举。 2....例如,如果项目中存在H2数据库的依赖项,Spring Boot将自动配置一个内存中的H2数据库作为默认数据源。如果您愿意,可以轻松地覆盖这些默认配置。... true 然后,您可以在IDE中进行代码更改,并在保存时自动触发应用程序的重新启动,无需手动停止和启动应用程序...无论您是正在构建小型Web应用还是大型企业级系统,Spring Boot都是一个强大的工具,可以使您的开发工作更加轻松愉快。愿Spring Boot的魔法继续为Java社区带来更多的便利和创新!

    28210

    补习系列(18)-springboot H2 迷你数据库

    关于 H2 H2 数据库是一个纯 Java 实现的开源的嵌入式数据库,笔者第一次使用时还是在多年前的一个客户端项目中。...当时就觉得这个数据库很方便,如果你希望你的应用程序能"自带数据库,随处运行”,那么H2是个不错的选择。 ?...,第一次启动时写入100条数据,后面每次启动将数据读取出来并打印到日志。...执行SpringBoot 启动程序,发现目录中生成了h2.mv.db文件,说明写入成功! 二、H2 用于单元测试 H2 数据库的典型应用是 在Web项目中做单元测试。...作为内存数据库使用则能解决这些问题,本身作为内置数据库并不需要额外的看护成本, 而且在程序退出时,所有数据都能保证完全清除。

    77310
    领券