如何在Spring Boot App中集成H2数据库

你好朋友,

在本教程中,我们将尝试探索如何在Spring Boot应用程序中与H2数据库集成。

在进行检查之前,让我们了解有关H2数据库的一些基础知识,如下所述,然后我们将讨论H2数据库与Spring Boot的集成。 弹簧靴

什么是H2数据库?
什么是H2控制台?
为什么在内存(H2)数据库中? 如何将H2数据库与Spring Boot集成在一起?

什么是H2数据库?

简而言之,H2是一个内存数据库,它具有以下功能:

–开源

–非常轻巧。 h2 DB jar的大小仅为1 MB左右

- 非常快

–完全用Java编写。

–支持Web控制台

–支持标准SQL和JDBC API

它被称为内存数据库,因为它是在启动应用程序时创建的,并在停止应用程序时被破坏。

什么是H2控制台?

H2控制台应用程序有助于从浏览器访问数据库。

弹簧靴

因此,基本上,它是一个客户端/服务器应用程序。 由于我们在嵌入式模式下使用h2(h2 jar是我们的应用程序的一部分),因此一旦我们的应用程序启动并运行,h2控制台服务器也将启动,从那里我们可以连接到h2数据库。

为什么在内存数据库(h2)中?

假设我们要在开始项目之前进行一些POC(概念验证),或者我们正在研究原型,在这种情况下,建立一个实际的数据库并不理想,因为这会涉及很多工作并且拥有数据库服务器,安装数据库,创建架构,表等的成本。因此在这种情况下,我们在内存数据库(例如h2)中使用。

如何将H2数据库与Spring Boot集成在一起?

将H2数据库与Spring Boot集成起来就像步步高行。

步骤1

转到https://start.spring.io/

第2步

填写组,artifactId和依赖项(Web和H2),然后单击Generate Project按钮。 它将在本地驱动器上下载名为springBootAndH2DbIntegration的zip。 解压缩。

弹簧靴

第三步

在eclipse中将提取的文件夹导入为现有的Maven Project。

弹簧靴

第四步

打开pom.xml,它将具有H2数据库的以下条目

<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>

注意 :我们正在添加h2依赖关系以连接H2内存数据库。 由于h2 jar将位于类路径上,因此Spring Boot会自动创建一个数据源以连接到h2数据库。

第5步

打开springBootAndH2DbIntegrationApplicaiton.java并将其作为Java应用程序运行。 这也将启动嵌入式Tomcat Server,并将应用程序部署在Tomcat上。

弹簧靴

正如您在日志中看到的那样,Tomcat在端口8080上启动,而SprigBootAndH2DbIntegrationApplicaiton成功启动。

第6步

点击以下网址以打开H2的Web控制台

http://本地主机:8080 / h2 /

我们将得到以下屏幕:

弹簧靴

出现在错误页面上方的原因是我们没有告诉Spring boot启用h2数据库的Web控制台并映射/ h2。我们可以通过在application.properties文件中进行以下输入来实现

#H2

spring.h2.console.enabled =真

spring.h2.console.path = / h2

步骤7

现在,如果您点击以下网址,您将看到H2 Web控制台已启动并正在运行,并且可以连接到H2数据库。

http://本地主机:8080 / h2 /

弹簧靴

步骤8

现在单击“测试连接”按钮,您可以看到连接成功,如下面的屏幕截图所示:

弹簧靴

步骤9

现在单击connect按钮,您将看到与h2 DB的数据库连接已建立。

弹簧靴

第10步

要断开h2数据库的连接,请单击H2控制台最左侧的以下图标,它将使您回到步骤6中的屏幕。

弹簧靴
通过单击此图标,我们只是与数据库断开连接,但是h2控制台服务器仍在运行中,因此我们可以再次单击connect并连接到数据库。

有关如何在Spring Boot应用程序中集成H2数据库的全部内容。 请与您认为有帮助的人分享。

参考文献

http://www.h2database.com/html/main.html

翻译自: https://www.javacodegeeks.com/2018/08/integrate-h2-database-spring-boot-app.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python在路径里添加变量_想学Python?那就先从头开始吧!

作为人工智能和大数据时代最具竞争力的 Python 语言&#xff0c;越来越多的出现在各大编程热搜排行榜上。首先你要了解什么是python了解Python语言Python是一种解释型, 面向对象, 动态数据类型的高级程序设计语言.Python由Guido van Rossum&#xff08;荷兰&#xff09; 于1989…

ant 走马灯面板指示显示不出来_触摸屏报警信息显示设置方法

人机界面(HMI)是自动化设备中非常常用的器件&#xff0c;用于替代操作面板上的实体按钮或者显示指示。人机界面的适用极大的减小了设备操作面板的尺寸&#xff0c;提升了设备的整体美观度。随着自动化设备的自动化程度的提高&#xff0c;也对设备的报警信息提出了更高的要求。如…

oracle bbed 使用,Oracle BBED使用 四步快速启动Oracle BBED

Oracle BBED使用&#xff0c;四步快速启动Oracle BBED&#xff0c;环境&#xff1a;Oracle 10g RHEL 5.8&#xff0c;介绍&#xff1a;BBED全称为数据块浏览和编辑。用于对Oracle blo环境&#xff1a;Oracle 10g RHEL 5.8介绍&#xff1a;BBED全称为数据块浏览和编辑。用于对Or…

linux内核4.4和4.5,[图]Linux Kernel 4.5系列第4个维护版本发布

Greg Kroah-Hartman表示&#xff1a;“我今天宣布了Linux 4.5.4内核&#xff0c;所有Linux 4.5内核系列用户必须尽快升级。已经升级的4.5.y git tree能够在git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.5.y中获取&#xff0c;也能通过访问h…

域名是如何被墙的_如何快速搭建属于自己的个性网站?

说明一直以来都是用GithubPage搭建的博客&#xff0c;因为服务器在国外&#xff0c;访问速度一直比较慢&#xff0c;再后来有一批服务器被墙掉了导致国内网络环境直接无法访问。这里可以多说一句&#xff0c;GithubPage跟Github用的可以不是同一IP地址服务器&#xff0c;被墙很…

python 对象锁_也许你对 Python GIL 锁的理解是 错的。

摄影&#xff1a;产品经理甜白与草莓更配~我刚到现在这个公司时&#xff0c;听到当时一个高级工程师(现已离职)大声地跟他旁边的同事说&#xff1a;Python 有 GIL 锁&#xff0c;所以它的多线程实际上是单线程&#xff0c;所以写多线程代码不用考虑线程冲突&#xff0c;不用加…

服务性服务–服务到服务的通话

在上一篇文章中&#xff0c;我介绍了如何使用Knative的 Serving功能来运行示例Java应用程序。 这篇文章将介绍部署两个应用程序的步骤&#xff0c;其中一个应用程序调用另一个。 样品细节 整个示例可在我的github存储库中找到– https://github.com/bijukunjummen/sleuth-webf…

linux cookie 地址,SYN Cookie原理及其在Linux内核中的实现

在目前以IPv4为支撑的网络协议上搭建的网络环境中&#xff0c;SYN Flood是一种非常危险而常见的DoS攻击方式。到目前为止&#xff0c;能够有效防范SYN Flood攻击的手段并不多&#xff0c;而SYN Cookie就是其中最著名的一种。SYN Cookie原理由D. J. Bernstain和 Eric Schenk发明…

用置换破坏您的JUnit5测试

编写JUnit测试可能是一个乏味而乏味的过程。 了解如何使用排列结合TestFactory方法和DynamicTest对象以最少的编码工作来改进测试类。 在本文中&#xff0c;我将使用Java流ORM Speedment&#xff0c;因为它包含一个现成的Permutation类&#xff0c;从而帮助我节省了开发时间。…

企业应用程序开发框架的分类

如果您使用的是“最佳Java框架”&#xff0c;那么您很可能会迷失本文 &#xff0c;它对Java Enterprise世界中的情况进行了很好的概述。 但是&#xff0c;从我的角度来看&#xff0c;它缺少一件非常重要的事情–对上述框架进行分类。 让我们看看这个生态系统的另一个角度&…

c语言中怎么定义的字符串,C语言中定义字符串的几种方式

1&#xff0c;什么是字符串&#xff1f;所谓字符串本质上就是以\0作为结尾的特殊字符数组&#xff1b;2&#xff0c;定义字符串的过程中有哪些注意点由于字符串本质上其实就是以\0作为结尾的特殊字符数组&#xff0c;所以定义字符串时&#xff0c;必须保证字符串存储的最后一个…

java8 linq4j_Java 8仍然需要LINQ吗? 还是比LINQ更好?

java8 linq4j长期以来&#xff0c; LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式和monad &#xff0c;它使C&#xff03;语言跃居Java之前&#xff0c;Java在当时是版本6&#xff0c;但仍在讨论泛型类型擦除的优缺点。 这项…

mongodb上一篇下一篇_如何使用Microsoft office word—上一篇

从这一期开始&#xff0c;将会逐一介绍Microsoft office的几个常用的软件&#xff0c;例如word ppt excel等&#xff0c;每一个软件将分为几期介绍&#xff0c;这几期介绍word。注意&#xff1a;介绍软件版本是Microsoft office365。如何插入图片首先打开word&#xff0c;点击插…

Istio的零停机滚动更新

本系列文章的第一部分介绍了如何在Kubernetes集群中实现真正的零停机时间更新。 我们专门解决了将流量从旧实例切换到新实例时出现的请求失败。 本文将展示如何使用Istio群集实现相同的目标。 服务网格技术&#xff08;例如Istio&#xff09;通常与容器编排结合使用。 Istio以…

android 设置资源,Android 资源

Android 资源Android Resources02/01/2018本文内容本文介绍了 Xamarin 中 Android 资源的概念&#xff0c;并介绍了如何使用这些资源。其中介绍了如何使用 Android 应用程序中的资源来支持应用程序本地化和多个设备&#xff0c;包括不同的屏幕大小和密度。This article introdu…

仿小黄车android定位,小黄车ofo是怎么实现自行车定位功能的?

摩拜单车通过车身携带的GPS而实现单车定位&#xff0c;但是我们知道ofo是没有安装GPS&#xff0c;它又是如何实现单车定位的呢&#xff1f;我居住的地方距离地铁站步行大约15分钟左右&#xff0c;距离最近的商场步行将近30分钟&#xff0c;距离周边的便利店,水果店,饭店等步行1…

gprs连接中断记录_请收好!脉搏波血压计连接天天血压APP使用指南

总有那么几个粗心的小伙伴丢失了说明书&#xff0c;在后台追问波哥如何连接“天天血压”&#xff0c;于是给大家安排了这篇使用指南。首先我们来了解下“天天血压”的功能&#xff1a;1.通过蓝牙或GPRS传输&#xff0c;同步记录每次测量结果&#xff1b;2. 血压趋势分析&#x…

使用Spring Boot,JHipster和React构建照片库PWA

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 从本质上讲&#xff0c;React只是一个UI工具包&#xff0c;即ala GWT&#xff0c;但是…

names文件和data文件_data.table让你的读取速度提升百倍

不知道大家有没有用read.table和read.csv读取过文件&#xff0c;当文件不大的时候你可能还感觉不出读取速度&#xff0c;但是当文件比较大的时候&#xff0c;比如有上万行的时候&#xff0c;你就会感觉到等待时间明显变长&#xff0c;甚至无法忍受。今天小编给大家安利一个实用…

差分放大电路差模共模公式_提高差分放大器的共模抑制比,电阻的选择很关键...

在各种应用领域&#xff0c;采用模拟技术时都需要使用差分放大器电路。例如测量技术&#xff0c;根据其应用的不同&#xff0c;可能需要极高的测量精度。为了达到这一精度&#xff0c;尽可能减少典型误差源(例如失调和增益误差&#xff0c;以及噪声、容差和漂移)至关重要。为此…