如何在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…

php生成16位不重复随机码,PHP n个不重复的随机数生成代码

复制代码代码如下://range是将1到100列成一个数组$numbersrange(1,100);//shuffle将数组顺序随即打乱shuffle($numbers);//array_slice取该数组中的某一段$no6;$resultarray_slice($numbers,0,$no);for($i0;$iecho$result[$i]."";}print_r($result);?>复制代码代…

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…

python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...

本文将讲述如何使用 pyi-grab_version获取版本信息的模板文件&#xff0c;以及使用 pyi-set_version为打包好的程序附加版本信息。当然了&#xff0c;在开始前&#xff0c;需要你已经安装好了 PyInstaller 这个工具。如果已经安装&#xff0c;你可以在 Python 的安装目录&#…

linux读取.data文件,[20121227]v$datafile访问是从数据文件获取信息吗.txt

[20121227]v$datafile访问是从数据文件获取信息吗.txt记得以前开始学习oracle的时候,被问及访问v$datafile从哪里获取信息,当时想都没想,从数据文件.虽然当时对方并没有告诉答案,显然认为水平不再同一档次上.直到有一次看一篇blog:SELECT controlfile "SCN location"…

java 常见错误_Java常见错误的十大列表(前100名!)

java 常见错误前10名名单非常受欢迎&#xff0c;有趣且内容丰富。 但是有很多&#xff01; 如何选择合适的&#xff1f; 这是一个元前10名列表&#xff0c;可帮助您找到前10名的前10名列表。 在更令人讨厌的笔记上&#xff1a; SELECT TOP 10 mistake FROM source1 UNION ALL …

dll侧加载_win7系统开机提示xxxdll模块已加载但找不到入口点的解决方法

很多小伙伴都遇到过win7系统开机提示xxxdll模块已加载但找不到入口点的困惑吧&#xff0c;一些朋友看过网上零散的win7系统开机提示xxxdll模块已加载但找不到入口点的处理方法&#xff0c;并没有完完全全明白win7系统开机提示xxxdll模块已加载但找不到入口点是如何解决的&#…

linux md5加密文件,Linux下对字符串进行MD5加密

深入学习golang&lpar;1&rpar;—数组与切片数据(array)与切片(slice) 数组声明: ArrayType "[" ArrayLength "]" ElementType . 例如: va ...使用apt-fast 来加速你的Ubuntu 的apt使用apt-fast 来加速你的Ubuntu 的apt sudo add-apt-repository …

JDK 12:实际中的切换语句/表达式

我的上一篇文章“ 玩JDK 12的Switch表达式 ”讨论了如何使用JDK 12 Early Access Builds尝试JEP 325 switch 表达式和语句&#xff0c;并提供了一个简单的示例。 这篇文章使用相同的JDK 12 Early Access Build 10来演示switch表达式和增强的switch语句的不同功能。 我在博客文…

broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?

我们知道电脑一开启就有很多进程了&#xff0c;其中有一个Runtime Broker是大家比较疑惑的&#xff0c;很多人会问Win8.1系统Runtime Broker是什么进程&#xff1f;可以禁用吗&#xff1f;带着这两个问题&#xff0c;小编现在就来为大家讲解一下。一、RuntimeBroker进程介绍Run…

2. linux的日志文件在哪个目录,位于/var/log目录下的20个Linux日志文件

如果你多数时间都在使用Linux系统&#xff0c;那么你有必要知道系统的日志文件位于哪里&#xff0c;以及每个日志文件是关于哪些内容的。在系统正常的时候学习理解各种日志文件的内容&#xff0c;有助于在遇到紧急情况时通过日志文件定位问题所在。/etc/rsyslog.conf文件决定了…

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…

python字符串下标截取_python 用下标截取字符串的实例

python 用下标截取字符串的实例运行环境&#xff1a; win7 64位python 2.7pycharmpython 源码如下# -*- coding: utf-8 -*-str 0123456789print(str[0:3])print(str[0:-1])print(str[-1])print(str[2:5])print(str[6:-1])print(str[6:])运行效果如下&#xff1a;0120123456789…

linux正则表达式脚本实例,PowerShell中正则表达式使用例子

本文介绍PowerShell中正则表达式的使用&#xff0c;PowerShell的正则表达式与微软其它语言的正则表达式是一样的&#xff0c;使用非常方便。正则表达式本身是怎么回事&#xff0c;本文不做讨论&#xff0c;反正PowerShell还是用的微软的那一套正则表达式规则&#xff0c;学VB、…

天津python招聘信息网_【天津-滨海新区Python招聘_最新热搜天津-滨海新区Python人才招聘信息】-前程无忧...

学历要求&#xff1a;硕士|工作经验&#xff1a;3-4年|公司性质&#xff1a;上市公司|公司规模&#xff1a;150-500人专业&#xff1a;计算机、自动化、软件工程、图形图像学或相关专业 语言&#xff1a;c c c# java 数据库 算法 工作经验&#xff1a;3年以上 岗位专业能力&…

前端---初始常用的 html 标签

1. 常用的 html 标签 <!-- 1、成对出现的标签&#xff1a;--><h1>h1标题</h1> <div>这是一个div标签</div> <p>这个一个段落标签</p><!-- 2、单个出现的标签&#xff1a; --> <br> <img src"images/pic.jpg&qu…

linux开机自动启动开机日志,设置linux开机自动运行脚本

实现目标&#xff1a;在Linux启动时&#xff0c;自动运行位于普通用户test1根目录下的脚本程序test.py&#xff0c;该程序会在每次执行时自动向本地日志文件追加一条记录&#xff0c;源码如下&#xff1a;from datetime import datetimenow datetime.now()f open(test.log, a…

java自定义方法参数注解_Java方法中的参数太多,第1部分:自定义类型

java自定义方法参数注解我认为构造函数和方法中冗长的参数列表是Java开发中的另一个“ 危险信号 ”&#xff0c;就逻辑和功能而言&#xff0c;它们不一定是“错误的”&#xff0c;但通常暗示当前或将来出现错误的可能性很高。 在一小部分帖子中&#xff0c;我介绍了一些可用于减…

5 zabbix 添加host_Zabbix 快速上手——添加 Agent 主机

Zabbix-Server 安装完成之后&#xff0c;下一步需要添加主机才能看到数据。安装Zabbix AgentZabbix Agent 的作用是将服务器的数据发送给 Zabbix Server&#xff0c;所以只需要在需要监控的主机上安装 Zabbix Agent 就够了。因为我的环境是&#xff1a;Ubuntu 18.04、Nginx、My…