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

更新到SpringBoot 2.4.0后,内存数据库中的H2不工作

Spring Boot是一个开源的Java框架,用于快速构建基于Spring的应用程序。它提供了许多开箱即用的功能和约定,使开发人员能够更专注于业务逻辑的实现。Spring Boot 2.4.0是Spring Boot的一个版本,引入了一些新功能和改进。

H2是一个内存数据库,它是一个嵌入式数据库,可以在应用程序中直接使用,无需额外的安装和配置。它提供了轻量级的数据库解决方案,适用于开发和测试环境。

然而,在将Spring Boot升级到2.4.0版本后,可能会遇到H2内存数据库不工作的问题。这可能是由于版本升级引入的一些变化或兼容性问题导致的。

要解决这个问题,可以尝试以下步骤:

  1. 检查依赖:确保在项目的构建文件(如pom.xml)中正确引入了H2数据库的依赖。可以使用最新版本的H2依赖,以确保与Spring Boot 2.4.0兼容。
  2. 配置数据库连接:在Spring Boot的配置文件(如application.properties或application.yml)中,检查数据库连接的配置是否正确。确保数据库的URL、用户名和密码等信息正确配置。
  3. 检查数据库初始化:如果在应用程序启动时需要初始化数据库表结构或插入初始数据,确保相关的初始化脚本或代码正确执行。可以使用Spring Boot的数据初始化功能来实现这一点。
  4. 日志和错误信息:查看应用程序的日志文件,查找与H2数据库相关的错误或异常信息。这些信息可能会提供有关问题的线索,帮助定位和解决问题。

如果上述步骤都没有解决问题,可以尝试以下额外的措施:

  1. 更新H2版本:尝试将H2数据库的版本升级到最新版本,以获得更好的兼容性和稳定性。
  2. 检查Spring Boot文档和社区:查阅Spring Boot的官方文档和社区论坛,寻找与H2数据库相关的已知问题和解决方案。这些资源通常提供了有关特定版本和配置的详细信息。

总结起来,当升级到Spring Boot 2.4.0后,如果遇到H2内存数据库不工作的问题,可以通过检查依赖、配置数据库连接、检查数据库初始化、查看日志和错误信息等步骤来解决问题。如果问题仍然存在,可以尝试更新H2版本或查阅Spring Boot的文档和社区资源获取更多帮助。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云数据库SQL Server:https://cloud.tencent.com/product/cdb_sqlserver
  • 腾讯云数据库MongoDB:https://cloud.tencent.com/product/cdb_mongodb
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云CDN加速:https://cloud.tencent.com/product/cdn
  • 腾讯云云安全中心:https://cloud.tencent.com/product/ssc
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/bcs
  • 腾讯云游戏多媒体引擎:https://cloud.tencent.com/product/gme
  • 腾讯云视频处理服务:https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SpringBootH2内存数据库使用

在开发测试过程,由于种种原因,连接Mysql或者Oracle进行测试可能会产生很多问题,比如网络原因,线上数据库冲突以及性能等问题,这时候如果能将数据库跑在内存,会省很多问题 下面记录一份H2内存数据库使用方法...scope为test范围 com.h2database h2...配置数据源 spring: datasource: ## 这里和引入mysql驱动没什么区别 driver-class-name: org.h2.Driver url: jdbc:h2...:mem:test ## 由于数据库会跑在内存,所以程序需要在启动时候在内存创建数据库,这里指定数据库表结构(schema)和数据信息 (data),语法和mysql大同小异 schema...: classpath:db/schema.sql data: classpath:db/data.sql 经过上面两步配置,就可以直接在程序无感知(和使用Mysql时候一样)使用H2内存数据库

1.4K30

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

知识改变命运,撸码使我快乐,2020继续游走在开源界 点赞再看,养成习惯 给我来个Star吧,点击了解下基于SpringBoot组件化接口服务落地解决方案 第一时间收到了GitHub推送...SpringBoot发版邮件,2020.11.13日正式发布了v2.4.0,这是2.4.x分支第一个版本。...以SpringBoot团队行事风格,每间隔六个月会发布一个大版本,预计2021年5月份发布 v2.5.0。...版本后缀消失了 从v2.4.0版本开始取消了版本后缀名.RELEASE,变简短了,Maven方式使用如下所示: org.springframework.boot...configtree 属性 新增启动端点,显示当前应用程序启动程序,可以帮助排除启动过程 bean 初始化 耗时问题 嵌入式数据库检查逻辑改进,仅当 H2、Derby 基于内存存储时定义为嵌入数据库

1.1K10
  • 给MeterSphere写测试用例01

    在这个过程,就需要一个数据库供Flyway操作了。集成测试一般会选择使用内存数据库或者数据库容器来提供一个运行时数据库实例。...由于H2内存数据库对MySQL数据库语法兼容性上还是存在一些问题,在试用之后就放弃了。以下是一个兼容案例, ?...虽然这个项目目前尚未被SpringBoot项目作为默认支持内存数据库,但是它提供了Sping插件,易用性也越来越好。首先是引入依赖,这里使用mariaDB4j-springboot。...在SpringBoot应用启动过程, 内置内存数据库MariaDB4J会首先启动,然后Flyway完成数据库版本初始化和系统基础数据导入。...因此,额外自行注入了一个,见setup()方法最后一句。 至此,经过上述系统配置调整和测试准备工作,我们就可以开始着手编写用例了。 ?

    1.5K10

    Spring Boot 2.4.0正式发布,全新配置文件加载机制(不向下兼容)

    目录 ✍前言 ✍正文 回忆2.3版本新特性 2.4.0主要新特性 全新配置文件处理(properties/yaml) 老版本版本配置属性迁移指南 方式一:恢复旧模式(推荐) 方式二:按新规则迁移(...所以呢,对于Spring Boot 2.4.0之前版本(老版本)若升级到2.4.0需要做些修改,指导建议如下: 方式一:恢复旧模式(推荐) 如果你还未准备好做配置迁移修改,Spring Boot也帮你考虑到了...只不过它是通过显式在pom里通过exclusion标签来排除 嵌入式数据库检测 改进嵌入式数据库检测机制:仅当数据库内存时才将其视为嵌入式数据库。...所以如果使用H2、HSQL等产品,但是你是基于文件持久性或使用是服务器模式,那么将不会检测为内存数据库。而对于非内存数据库,你可能需要额外做如下动作: sa用户名将不会再被主动设置。...(团队版本) H2数据库控制台支持配置密码:可通过spring.h2.console.settings.web-admin-password属性配置通过密码访问H2控制台 增强错误分析器FailureAnalizers

    2K30

    Spring Boot 2.4.0正式发布,全新配置文件加载机制(不向下兼容)

    所以呢,对于Spring Boot 2.4.0之前版本(老版本)若升级到2.4.0需要做些修改,指导建议如下: 方式一:恢复旧模式(推荐) 如果你还未准备好做配置迁移修改,Spring Boot也帮你考虑到了...为了更好描述好这个非常非常重要知识点,下篇文章我会用专文来全面介绍 Spring Boot这套全新配置文件加载机制,并且辅以原理,以及和过去方式比较,帮助你更全面、更快速、掌握它,欢迎持续关注...只不过它是通过显式在pom里通过exclusion标签来排除 嵌入式数据库检测 改进嵌入式数据库检测机制:仅当数据库内存时才将其视为嵌入式数据库。...所以如果使用H2、HSQL等产品,但是你是基于文件持久性或使用是服务器模式,那么将不会检测为内存数据库。而对于非内存数据库,你可能需要额外做如下动作: sa用户名将不会再被主动设置。...(团队版本) H2数据库控制台支持配置密码:可通过spring.h2.console.settings.web-admin-password属性配置通过密码访问H2控制台 增强错误分析器FailureAnalizers

    2.4K30

    Spring Boot 2.4.0 正式发布!全新配置处理机制,拥抱云原生!

    2020年11月12日,Spring官方发布了Spring Boot 2.4.0 GA公告。在这个版本增加了大量新特性和改进,下面我们一起看看在这个重要版本中都有哪些值得关注内容!...版本命名更改,从2.4开始,版本名将去除RELEASE后缀,所以这次版本不是2.4.0.RELEASE,而是2.4.0 2....但是,如果您有复杂设置,那么如果您想使用新特性,则可能需要进行一些更改。...这个端点可以帮助您识别比预期启动时间更长 bean。 5. Docker/Buildpack支持,可以方便构建镜像 6. 完美支持Java 15 7....嵌入式数据库检测逻辑改进,只有当数据库内存时才视为嵌入式数据库。所以,如果当你对 H2、 HSQL 和 Derby 采用文件形式持久化时候将不会自动初始化 9.

    78420

    轻量级嵌入式数据库H2愉快玩耍之旅

    而且springboot依赖池也收录了H2数据库。接下来我们通过springboot结合Mybatis来对H2数据库进行一些特性讲解演示。...通过不同配置我们来演示一下。 5.内嵌模式 内嵌模式,就是把在应用引入H2,启动应用同时,会把H2数据服务也启动,应用既包含了H2数据库服务端,同时应用又作为客户端来连接H2数据库。...5.1 内存模式连接 内存模式就是数据库文件存在于内存,没有持久化,当应用进程关闭时数据库与数据表会消失。为了独立环境,我们利用springbootprofile特性来隔离不同模式环境配置。...springboot项目 通过指定 --spring.profiles.active=inner启动,输入http://localhost:8080/h2-console,进入H2数据控制台: ?...同时我们执行maven 工程测试包也会成功完成Mybatis 单元测试。但是我们关闭应用后数据会丢失因为这些数据存在于内存内存是会被回收

    2.4K30

    LayaAir 2.4易用性大幅提升,3D物理引擎库体积减少近50%、编码模块不再内嵌到LayaAirIDE,支持微信引擎插件

    LayaAir引擎版本号小数点第一位代表着大版本,其后是小版本。每一个大版本都代表着,引擎有着阶梯式前进变化。时隔一个多月,2.4.0大版本出炉又有着怎样变化呢。...而2.4.0beta版本开始,3D物理JS版也与wasm版一样,对内存使用是在设置初始值基础上,再按实际需求自动增长,更加方便了开发者对于3D物理内存管理。...beta版本,采用升级方式来更新到LayaAirIDE 2.4.0,将无法享受到IDE和新建项目时瘦身好处。...开发者使用了微信小游戏引擎插件,当玩家曾体验任何一款游戏中包括了该插件相同版本引擎,都无需再次加载,直接调用已加载微信公共插件库引擎版本。这样一来,可让加载效率得到较大提升。...而LayaAirIDE2.4.0beta版内置了该引擎插件,并完美的做好了适配工作,除了AS版旧项目需要新增一个编译参数外,其它都无需开发者手工适配,对于引擎插件使用,仅需在发布微信小游戏时,勾选使用引擎插件选项即可

    1.6K20

    MySQL内存数据库新选择-MariaDB4J

    H2 香么? 为什么使用MariaDB4J ? 谈到在测试中使用内存数据库,估计首先想到就是H2了。使用时也非常方便,只要在下述SpringBoot配置文件里修改一下datasource即可。...spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect 然后一个名字为testdb数据库就就绪了...如果选择继续使用H2,就需要团队为H2去维护另外一套H2专用schema。因此,使用MySQL团队需要额外寻找一个H2替代品,一个兼容MySQL内存数据库。...,并提供一个带有MariaDB4jSpringService 作为入参,就可以实现数据库启动了。...SpringBoot配置 在application-test.properties文件中使用如下配置, #Location of db files. delete this directory if

    4.1K20

    SpringBoot使用H2内存数据库单元测试代码示例

    一、背景 单元测试是提高代码质量和保证代码正确性重要保证。 DAO单元测试有常见两种方案。 【1】使用H2这类内存数据库进行单元测试。 【2】使用MySQL数据库,测试回滚。.../h2database 使用H2内存数据库来单元测试优势在于 h2更快速,且支持JDBC API。...支持内嵌和服务器模式;是一种内存数据库 支持浏览器控制台 jar包比较小 另外 如果使用公共开发数据库,服务器如果回收再测试就需要继续安装建表和插入数据。...个人倾向于推荐这种内存数据库进行DAO层单测方式。...大家还可以进入h2驱动jar包和mybatisjar查看源码逻辑。 通过这些可以学到更多内容。 五、总结 本文主要讲述SpringBoot使用H2内存数据库进行单元测试案例。

    3.5K30

    SpringBoot DB 系列】h2databse 集成示例 demo

    [logo.jpg] 【SpringBoot DB 系列】h2databse 集成示例 demo h2dabase 基于内存数据库常见于嵌入式数据库使用场景,依赖小,功能齐全;一般来讲,正常商业项目用到它场景不多...=org.h2.Driver 上面的配置方式,和我们 mysql 数据库配置没有什么特别的,这里 url 请注意一下 jdbc:h2:~/h2-db: 嵌入式使用姿势,会在用户根目录下生成一个名为h2...-db.mv.db文件(数据库 schema 和 d column 就存在里面) jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1: 内存模式,应用重启之后数据库会清空,所以在测试用例...基本配置,为了友好展示,我们开启了 h2dabase web console 控制台 ##h2 web console设置 spring.datasource.platform=h2 #进行该配置...一灰灰 Blog 尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现 bug 或者有更好建议,欢迎批评指正,不吝感激 下面一灰灰个人博客,记录所有学习和工作博文,

    84700

    SpringBoot2.x+H2进行单元测试

    整体描述 整体项目使用 SpringBoot2.x、MySQL实现。 使用到插件:hutool、mybatis-plus、liquebase、lombok、h2。...项目主要为展示如何使用 h2 内存数据库进行单元测试边写,不会对参数进行有效性检测,尽可能简化逻辑!不会对其他插件进行详细讲解。...使用 liquebase 进行数据库结构管理,使用 mybatis-plus 简化数据库操作。 为了防止单元测试产生很多垃圾数据,使用 h2 内存数据库,测试之后,数据销毁。 2....添加 MyBatisPlus 配置文件,配置 test 环境使用 H2 内存数据库 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(...操作完可以看到,我们 MySQL 数据库并没有产生任何数据。 4.2. 通过手动调用进行测试 启动项目,指定启动环境(默认环境为 default),通过 postman 进行测试。

    1.9K10

    老板:把数据库变更,给整利索了

    http://xjjdog.cn 对200+原创文章进行了细致分类,阅读流畅,欢迎收藏。 原创:羡鸳鸯羡仙,一行代码调半天。...如果你做是项目类型工作,客户半年六个月才升级一次,这些脚本管理就会乱上加乱。 我们需要把这些数据库变更,使用git这样工具管理起来,在系统启动时候,能够自动变更。通过口口相传,太不可信了。...Bar'); 再次执行mvn flyway:migrate,可以发现第二版本DML信息,已经被写入到数据库。 2. 如何工作? 那flyway是如何做到幂等呢?...我们发现,数据库除了用户创建PERSON表,还多了一个叫做flyway_schema_history表。 让我们see一see里面的内容。...SpringBoot项目集成 在pom中加入flyway坐标。可以看到我们是没有提供版本号,说明它已经在bom文件定义过了。

    1.2K20

    H2 数据库

    模式、存储与兼容 H2 支持嵌入、服务器、混合运行模式,以及在内存或持久性数据存储方式,还有兼容各类数据库 2.1 模式 嵌入模式:应用程序和数据库在同一个 JVM ,这是最快和最简单连接模式。...第一个连接数据库应用程序以嵌入式模式运行,其他应用程序可同时访问相同数据 2.2 存储 内存存储:意味着数据存储于内存之中,当关闭最后一个连接时候内容即丢失,但可添加参数 DB_CLOSE_DELAY...,但仍有一些差异(MySQL 文本默认区分大小写,而 H2 是区分大小写),H2 可模拟特定数据库行为,但这种模仿是有限,普通情况下可正常使用(下面举例 MySQL) 兼容 MySQL : 在数据库...-- springboot 依赖也收录 H2,可不写version --> com.h2database <artifactId.../持久化到本项目根目录 # mem:test 存放到内存 url: jdbc:h2:.

    1.1K30

    在Spring Boot使用H2内存数据库

    在Spring Boot使用H2内存数据库 在之前文章我们有提到在Spring Boot中使用H2内存数据库方便开发和测试。本文我们将会提供一些更加具体有用信息来方便我们使用H2数据库。...,如果我们想永久保存内存数据库需要添加如下配置: spring.datasource.url=jdbc:h2:file:/data/demo 这里配置数据库文件存储地址。...访问H2数据库 虽然是一个内存数据库,我们也可以在外部访问和管理H2H2提供了一个内嵌GUI管理程序,我们看下怎么使用。...记得填入你在配置文件配置地址和密码。 登录之后,我们可以看到如下管理界面: ?...本文例子可以参考https://github.com/ddean2009/learn-springboot2/tree/master/springboot-h2

    3.5K30

    SpringBoot DB 系列】h2databse 集成示例 demo

    h2dabase 基于内存数据库常见于嵌入式数据库使用场景,依赖小,功能齐全;一般来讲,正常商业项目用到它场景不多,但是在一些特殊 case ,还是比较有用,比如用于单元测试,业务缓存...项目创建 本文对应示例 demo,采用SpringBoot 2.2.1.RELEASE + maven 3.5.3 + IDEA进行开发 1. pom 配置 关于如何创建一个 springboot 项目本文就不介绍了...=org.h2.Driver 上面的配置方式,和我们 mysql 数据库配置没有什么特别的,这里 url 请注意一下 jdbc:h2:~/h2-db: 嵌入式使用姿势,会在用户根目录下生成一个名为h2...-db.mv.db文件(数据库 schema 和 d column 就存在里面) jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1: 内存模式,应用重启之后数据库会清空,所以在测试用例...基本配置,为了友好展示,我们开启了 h2dabase web console 控制台 ##h2 web console设置 spring.datasource.platform=h2 #进行该配置

    44120

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

    有什么特性 由于是Java写,自带跨平台能力 小,非常小,完整 Jar 包只有1-2M 支持多种模式,包括内存形态、文件形态(持久化) 一般来说,使用H2 场景大概会是: 计算资源受限,如嵌入式计算环境...自动化测试,在自动化环境可能需要大量模拟接口,包括数据存储接口,此时内存数据库是不二之选。...执行SpringBoot 启动程序,发现目录中生成了h2.mv.db文件,说明写入成功! 二、H2 用于单元测试 H2 数据库典型应用是 在Web项目中做单元测试。...一般,测试流程为: 数据初始化 执行测试 销毁数据 在真实测试代码开发,有几类问题会造成困扰: 数据库环境搭建比较费时费力; 数据库数据难以保持"干净",一些垃圾数据容易影响测试成功率 H2...与H2 类似的数据库还有HSQL、Derby,有兴趣朋友可以研究对比下。 欢迎继续关注"美码师补习系列-springboot篇" ,期待更多精彩内容^-^

    76910
    领券