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

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

H2数据库特别适用于快速构建的小型应用。数据量小的元数据管理,不需要大型数据库支撑的业务场景都可以用。尤其应用开发中和单元测试中使用非常方便,而且节省系统资源。...5.内嵌模式 内嵌模式,就是把应用引入H2,启动应用的同时,会把H2数据服务也启动,应用既包含了H2数据库的服务端,同时应用又作为客户端来连接H2数据库。...5.1 内存模式连接 内存模式就是数据库文件存在于内存,没有持久化,当应用进程关闭时数据库与数据表会消失。为了独立环境,我们利用springboot的profile特性来隔离不同模式的环境配置。...因为我们初始化指定了DDL 、 DML SQL脚本,创建了student表,而且插入了3条数据。所以会呈现出来。证明集成成功。...8.总结 今天介绍了H2这种小巧灵活方便的数据库。介绍了H2的一些特性并和springboot、mybatis这些框架结合起来进行开发和单元测试。后面还介绍了它的兼容性配置。

2.3K30

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

开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot发布它的第一个版本没有这个功能。 这是开发人员最需要的功能。...它还提供H2数据库控制台更好地测试应用程序。...starter的spring.factories文件 该文件里配置了所有需要被创建spring容器的bean 16、springboot读取配置文件的方式 springboot默认读取配置文件为application.properties...web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: 需要注意的一些地方: 一个内部数据内存只应用程序执行期间存在。这是学习框架的有效方式。 这不是你希望的真是世界应用程序方式。...34、你能否举一个 ReadOnly 为事务管理的例子? 当你从数据库读取内容的时候,你想把事物的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。

4.9K31
您找到你想要的搜索结果了吗?
是的
没有找到

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

开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot发布它的第一个版本没有这个功能。 这是开发人员最需要的功能。...它还提供H2数据库控制台更好地测试应用程序。...读取每个starter的spring.factories文件 该文件里配置了所有需要被创建spring容器的bean 16 springboot读取配置文件的方式 springboot默认读取配置文件为...需要注意的一些地方: 一个内部数据内存只应用程序执行期间存在。这是学习框架的有效方式。 这不是你希望的真是世界应用程序方式问题“如何连接一个外部数据库?”...34 你能否举一个 ReadOnly 为事务管理的例子? 当你从数据库读取内容的时候,你想把事物的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。

3.4K30

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

开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot发布它的第一个版本没有这个功能。 这是开发人员最需要的功能。...它还提供H2数据库控制台更好地测试应用程序。...starter的spring.factories文件 该文件里配置了所有需要被创建spring容器的bean 16、springboot读取配置文件的方式 springboot默认读取配置文件为application.properties...这是学习框架的有效方式。 这不是你希望的真是世界应用程序方式问题“如何连接一个外部数据库?”,我们解释了如何连接一个你所选择的数据库。...34、你能否举一个 ReadOnly 为事务管理的例子? 当你从数据库读取内容的时候,你想把事物的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。

1.3K40

H2 数据库

模式、存储与兼容 H2 支持嵌入、服务器、混合的运行模式,以及在内存或持久性的数据存储方式,还有兼容各类数据库 2.1 模式 嵌入模式应用程序数据库同一个 JVM ,这是最快和最简单的连接模式。...缺点是一个数据库在任何时候都只能在一个虚拟机(和类加载器)打开 服务器模式:可理解为 C/S 模式,通过 TCP/IP 打开数据库,服务器模式比嵌入式模式慢。...许多应用程序可以同时连接到同一个数据库,相当于独立部署了一个数据库服务器 混合模式:混合了嵌入式模式和服务器模式。...第一个连接数据库应用程序嵌入式模式运行,其他应用程序可同时访问相同的数据 2.2 存储 内存存储:意味着数据存储于内存之中,当关闭最后一个连接的时候内容即丢失,但可添加参数 DB_CLOSE_DELAY...,但仍有一些差异(MySQL 文本默认不区分大小写, H2 是区分大小写的),H2 可模拟特定数据库的行为,但这种模仿是有限的,普通情况下可正常使用(下面举例 MySQL) 兼容 MySQL : 在数据库

1.1K30

Spring Boot 面试题

所有 SpringModules 不是依赖注入就是 IOC 控制反转。 当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。...这是学习框架的有效方式。 这不是你希望的真是世界应用程序方式问题“如何连接一个外部数据库?”,我们解释了如何连接一个你所选择的数据库。...当 Spring Boot 类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 问题二十八 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?...当你从数据库读取内容的时候,你想把事物的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。这是非常高效的。...配置文件不是设别环境的关键。 在下面的例子,我们将会用到两个配置文件 dev prod 缺省的应用程序配置 application.properties

1.3K10

Spring Boot 面试题精华

web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: 需要注意的一些地方: 一个内部数据内存只应用程序执行期间存在。这是学习框架的有效方式。 这不是你希望的真是世界应用程序方式。...当 Spring Boot 类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 问题二十七 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?...让我们 MySQL 为例来思考这个问题: 问题二十九 Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数 据库名字是 testdb?...当你从数据库读取内容的时候,你想把事物的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。这是非常高效的。...配置文件不是设别环境的关键。 在下面的例子,我们将会用到两个配置文件 dev prod 缺省的应用程序配置 application.properties

16.2K40

20个对Java程序员有用的开源库

我花了大量的时间学习API,特别是阅读了 Effective Java 3rd Edition之后,约书亚·布洛赫(Joshua Bloch)建议如何使用现有的API进行开发,不是为普通的东西编写新的代码...2.JSON解析库 在当今的web服务和物联网世界,JSON已成为将信息从客户机传输到服务器的首选协议。它们已经取代了XML,成为独立于平台的方式传输信息的最理想方式。...9.数据库连接池 Libraries 如果您是从Java应用程序数据库交互,不是使用数据库连接池库,那么您就错过了一些东西。...web应用程序,web服务器通常提供这些功能,但是核心Java应用程序,您需要将这些连接池库包含到类路径,以使用数据库连接池。 10....嵌入式SQL数据库库 我非常喜欢内存数据库,比如H2,您可以将它嵌入到Java应用程序。它们非常适合测试SQL脚本和运行需要数据库单元测试

1.1K20

Java程序员应该知道的20个有用的库

如果需要在项目中使用它们,则可以项目的类路径包含这些库的JAR开始使用它们,也可以使用Maven进行依赖项管理。...2.JSON解析库 在当今Web服务和物联网的世界,JSON已经成为将信息从客户端传送到服务器的一种访问协议。它们取代了XML,成为独立于平台的方式传输信息的首选方式。...如果你不熟悉字节码,我建议你查看Java程序员简介了解有关它的更多信息。9.数据库连接池库 如果你正在从Java应用程序数据库交互但不使用数据库连接池库,那么你就会遗漏一些东西。...Web应用程序,它的Web服务器通常提供这些功能,但在核心Java应用程序,你需要将这些连接池库包含在类路径以使用数据库连接池。...image.png 17.嵌入式SQL数据库 我真的很喜欢像H2这样的内存数据库,你可以将它嵌入到你的Java应用程序。它们非常适合测试SQL脚本和运行需要数据库单元测试

1.1K30

SpringBoot-实用篇

特别关注:使用向导创建SpringBoot工程,pom.xml文件中会有如下配置,这一段配置千万不能删除,否则打包后无法正常执行程序。...总结 当Maven与SpringBoot同时对多环境进行控制Mavn为主,SpringBoot使用@.....闹了半天,书写前缀,这个词不是随意支持的,必须使用上述标准。...原因就在于这三个数据库都可以采用内嵌容器的形式运行,应用程序运行后,如果我们进行测试工作,此时测试的数据无需存储磁盘上,但是又要测试使用,内嵌数据库就方便了,运行在内存,该测试测试,该运行运行,等服务器关闭后...下面H2数据库为例讲解如何使用这些内嵌数据库,操作步骤也非常简单,简单才好用嘛 步骤①:导入H2数据库对应的坐标,一共2个 com.h2database

1.5K10

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

一、背景 单元测试是提高代码质量和保证代码正确性的重要保证。 DAO的单元测试有常见的两种方案。 【1】使用H2这类内存数据库进行单元测试。 【2】使用MySQL数据库,测试后回滚。.../h2database 使用H2内存数据库单元测试的优势在于 h2更快速,且支持JDBC API。...2.2 使用MySQL测试后回滚 使用MySQL测试后回滚是常见的一种方式,最大的问题如果是自己本地测试,其他人如果想测试需要再创建表和插入数据,非常麻烦。...大家还可以进入h2的驱动jar包和mybatis的jar查看源码的逻辑。 通过这些可以学到更多内容。 五、总结 本文主要讲述SpringBoot使用H2内存数据库进行单元测试的案例。...在此也提倡大家对DAO层采用内存数据库方式进行单元测试。 对于Service层的测试建议使用mockito,通过mock依赖的其他服务来检测当前模块逻辑是否正确的方式进行测试。

3K30

阿里云故障聊聊测试实践

今天我们针对系统应用自身保障,来简单聊聊单元测试及集成测试实践。单元测试单元测试应用系统及软件开发具有重要的地位,不仅是一种良好的编程实践,还有很多实际的重要性。...但是,覆盖率仅仅是测试质量的一个度量标准,不是唯一的评估指标。设计测试用例,还需要考虑测试的全面性、边界条件、异常处理等因素。... Spring Boot 应用程序,集成测试通常涉及到测试整个应用程序的多个组件的协同工作,不仅仅是单个组件的功能。...集成测试,也可以使用模拟或模拟对象来代替真实的外部依赖,确保测试的独立性和可重复性。集成测试可以涉及多个层次,包括数据库层、服务层、控制器层等。测试用例需要覆盖这些不同层次的集成点。...,可以使用嵌入式数据库(如H2)或者配置测试数据库来执行数据库层的集成测试。

396151

【第四篇】Camunda系列-ProcessEngine核心对象

ProcessEngineConfiguration对象也可以使用配置文件编程方式创建。也可以使用不同的bean id。...JavaAPI方式   我们也可以通过创建正确的ProcessEngineConfiguration对象或使用一些预定义的对象,编程方式配置流程引擎。...默认情况下,只有引擎启动才会检查数据库(如果没有数据库模式模式版本不正确,会抛出一个异常)。...默认使用H2内存数据库。该数据库将在引擎启动和关闭创建和删除。当使用这个,可能不需要额外的配置(除了,当使用Job执行器(job executor)或邮件功能)。...比如:查询分配给用户或组的任务,创建新的独立任务。这些是与流程实例无关的任务,操纵一个任务被分配给哪个用户,或者哪个用户某种方式参与到任务,声称并完成一项任务。

2.7K10

避免重复造轮子,Java 程序员必备!!

如何使用现有的 API 进行开发,不是为常见的东西编写新的代码。是提升开发效率必选之路。...JSON解析库 在当今的 Web 服务和物联网世界,JSON 已成为将信息从客户端传输到服务器的首选协议。它们已取代 XML,成为独立于平台的方式传输信息的首选方式。...我总是我的项目中包含这些库,因为它们简化了很多任务。 重新发明轮子是没有意义的。我们应该更喜欢使用久经考验的库,不是时不时地编写我们自己的例程。... Web 应用程序,它的 Web 服务器通常提供这些功能,但在核心 Java 应用程序,您需要将这些连接池库包含到您的类路径才能使用数据库连接池。 10....嵌入式 SQL 数据库库 我真的很喜欢像 H2 这样的内存数据库,你可以将它嵌入到你的 Java 应用程序。它们非常适合测试您的 SQL 脚本和运行需要数据库单元测试

71410

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

使用传统数据库需要大量开销。 场景2 - 考虑单元测试数据库的某些数据/模式发生更改时,不希望它们失败 可能希望能够并行运行它们 - 多个开发人员可能并行运行测试。...在这种情况下,内存数据库提供了理想的解决方案。 应用程序启动时会创建内存数据库,并在应用程序停止销毁。...好处 零项目设置或基础设施 零配置 零维护 易于学习,POC和单元测试 Spring Boot提供了简单配置,可以真实数据库和内存数据库(如H2)之间切换 H2   H2是内存数据库的流行之一。...Spring Boot与H2的集成非常好。H2是用Java编写的关系数据库管理系统。它可以嵌入Java应用程序,也可以客户端 - 服务器模式下运行。 H2支持SQL标准的子集。...H2还提供了一个Web控制台来维护数据库。 Spring Boot和H2 您需要很少的配置才能将Spring Boot应用程序H2连接。 大多数情况下,只需将H2运行时jar添加到依赖项即可。

5.7K20

SpringBoot面试题及答案140道(2021年最新)

我测试的时候,发现了 LiveReload 漏洞,如果你测试也发现了,请一定要告诉我们。 25、创建一个 SpringBoot Project 的最简单的方法是什么?...开发人员可以重新加载SpringBoot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。SpringBoot发布它的第一个版本没有这个功能。 这是开发人员最需要的功能。...它还提供H2数据库控制台更好地测试应用程序。 31、什么是 SpringBoot Stater ? 启动器是一套方便的依赖没描述符,它可以放在自己的程序。...开发人员可以重新加载SpringBoot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。SpringBoot发布它的第一个版本没有这个功能。这是开发人员最需要的功能。...它还提供H2数据库控制台更好地测试应用程序

1.3K30

顶级 Javaer 都在用的 20 个类库,真香!

我花了很多时间来学习API,尤其是阅读了Effective Java 3rd Edition之后 ,Joshua Bloch建议Java 3rd Edition中使用现有的API进行开发,不是为常见的东西编写新的代码...2、JSON解析库 在当今的Web服务和物联网(IoT)世界,JSON已成为将信息从客户端传送到服务器的首选协议。他们已经将XML替换为平台无关的方式传输信息的最优选方式。...经常给程序员借口,不是编写单元测试,而是最常见的借口,避免单元测试的借口是缺乏流行的单元测试库(例如JUnit,Mockito和PowerMock)的经验和知识。...Web应用程序,通常是Web服务器提供这些功能,但是核心Java应用程序,您需要将这些连接池库包括到类路径才能使用数据库连接池。...17、嵌入式SQL数据库库 我真的很喜欢H2这样的内存数据库,您可以将其嵌入Java应用程序。它们非常适合测试SQL脚本和运行需要数据库单元测试

13010

H2 数据库使用简介

) 5.1 嵌入式模式 嵌入式模式下,应用程序使用JDBC从同一JVM打开数据库。...这是最快也是最容易的连接方式。缺点是数据库可能只在任何时候一个虚拟机(和类加载器)打开。与所有模式一样,支持持久性和内存数据库。对并发打开数据库的数量或打开连接的数量没有限制。...5.2 服务器模式 当使用服务器模式(有时称为远程模式或客户机/服务器模式应用程序使用 JDBC 或 ODBC API 远程打开数据库。...5.3 混合模式 混合模式是嵌入式和服务器模式的结合。连接到数据库的第一个应用程序嵌入式模式下运行,但也启动服务器,以便其他应用程序不同进程或虚拟机运行)可以同时访问相同的数据。...本地连接的速度与数据库嵌入式模式的使用速度一样快,远程连接速度稍慢。 服务器可以从应用程序内(使用服务器API)启动或停止,或自动(自动混合模式)。

2.7K10

SpringBoot框架基础知识

创建SpringBoot项目的方式 创建SpringBoot方式主要有3种: 基于SpringBoot的父级项目来创建子级项目; 使用开发工具的创建向导进行创建,如果使用的是Eclipse,需要安装Spring...SpringBoot执行单元测试,会加载项目的所有环境(读取配置、加载Spring容器等),要求所有的单元测试类必须放在cn.tedu.sample包或其子孙包,并且,测试类的声明之前必须添加和...连接数据库 SpringBoot项目默认并没有集成数据库数据库编程的框架所依赖的jar包,需要在创建项目就勾选相关的依赖,或在创建项目之后再在pom.xml添加相关的代码: <dependency...可以src/test/java下编写单元测试,通过单元测试尝试连接数据库检查以上配置信息是否正确!...} 使用SpringBoot框架编程,凡在传统的SSM系列框架通过getBean()可以获取的对象,都可以通过添加自动装配的注解来装配值! 8.

49520
领券