首页
学习
活动
专区
工具
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/)了解更多关于这些产品的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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.5K20

Spring Boot 面试题精华

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

16.2K40

面试必问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 应用程序需要哪些依赖项?

5.7K31

Spring Boot 面试题

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

1.3K10

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

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

5.7K20

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

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

3.4K30

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

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

1.3K40

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.7K50

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 BootSpring 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.1K10

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内存数据库 - 这样我们在运行项目就没有任何外部依赖关系了。

48720

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

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

21410

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

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

74510

Spring-Boot:6分钟掌握SpringBoot开发

构建项目 从技术角度来看,我们要用Spring MVC来处理Web请求,用Thymeleaf来定义Web视图,用Spring Data JPA来把阅读列表持久化到数据库里,姑且先用嵌入式H2数据库。...} } 我们在使用Spring boot 进行开发,Application 类是我们启动服务入口,起到关键作用是 **@SpringBootApplication** 这一注解,实际上 @SpringBootApplication...可以看到,我们服务已经成功启动。 ? ?  4.5 流程分析 大家可能会很疑惑,为什么我们没有配置数据库信息,却没有报异常。...- 因为Classpath 里有H2 , 所以会创建一个嵌入式H2 数据库Bean , 它类型是 javax.sql.DataSource,JPA实现(Hibernate)需要它来访问数据库。...要是你在配置Spring希望或者需要有所不同,该怎么办?在第3章,我们将会看到如何覆盖Spring Boot自动配置,借此达成应用程序一些目标,还有如何运用类似的技术来配置自己应用程序组件。

1.4K70
领券