Spring - 周边设施 - H2 embedded 版本引入
1. 概述
- 在 Spring 开发中, 引入 H2 做辅助测试数据库
2. 场景
复习 Spring, 复习到 持久化 部分
- 需要一个 数据库 来做测试
方案
方案1: 搭建 MySQL 实例
- 虽然现在有 docker 环境, 但我还是懒得弄
- 真的懒...
- 虽然现在有 docker 环境, 但我还是懒得弄
方案2: 使用 H2 数据库
- 使用 embedded 版本
- 可以使用 内存数据库
- 随用随启
- 数据每次都是新的
- 嗯, 决定就是它了
- 使用 embedded 版本
思路
- H2 的使用, 也特别简单
- maven 添加好依赖
- 简单配置
- 启动项目
- 验证启动即可
- H2 的使用, 也特别简单
3. 环境
os
- win10
jdk
- 1.8
ide
- ida 2018.1
spring
- spring boot
- 2.1.7 release
- 组件
- thymeleaf
- starter-web
- devtool
- starter-test
- spring boot
browser
- firefox
- 70.0
- firefox
H2
- 1.4.197
ref
- spring in action 5th
4. 步骤们
1. 引入依赖
概述
- 在 pom 文件里引入依赖
代码如下
<!-- JdbcTemplate -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency> <!-- h2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
解释
- 引入 JdbcTemplate
- 与 H2 交互的时候, 真的需要驱动
- 引入 H2
- 使用数据库
- 引入 JdbcTemplate
注意
- 引入后一定要确保 lib 下下来
- 我没有确认, 然后傻等了好久
- 都开始找 bug 了
- 引入后一定要确保 lib 下下来
2. 配置
概述
- H2 数据库的启动, 打开 web console
- 因为启动在 spring 的同个 jvm 里, 不太好确认
- 可以通过 run > endpoint > health 下看到 有个 db
- 因为启动在 spring 的同个 jvm 里, 不太好确认
- H2 数据库的启动, 打开 web console
配置文件
# dataSource: H2
## H2: 开启 console
### 开启 console
spring.h2.console.enabled=true
### 设定 console 路径
spring.h2.console.path=/console
3. 验证
重启项目
打开浏览器, 进入 console
# 如果能打开, 说明启动成功了
localhost:8080/console
ps
ref
- Spring Boot – Spring Data JPA with Hibernate and H2 Web Console
- 这里用的是 jpa 配合 hibernate 的方案, 可以看看
- Spring Boot – Spring Data JPA with Hibernate and H2 Web Console
问题
- 我们要测试的数据, 如何写入
- 我们写入后, 如何通过这个 console 查看
- 这些问题, 我会在后面的博客里继续说明
Spring - 周边设施 - H2 embedded 版本引入的更多相关文章
- Spring - 周边设施 - H2 数据库启动时写入数据
1. 概述 之前讲到了 H2 的引入 这下我想说说 H2 启动时的 数据导入 2. 场景 需求 启动项目后, H2 启动起来 环境数据会自动注入 H2 数据库 可以验证是否成功 3. 环境 os wi ...
- spring boot整合H2数据库
一.背景: .H2数据库是一个开源的关系型数据库.H2是一个嵌入式数据库引擎,采用java语言编写,不受 平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准,支持集群. ...
- Spring Boot + Mybatis + H2 database数据库
H2 Database H2 由纯 Java 编写的开源关系数据库,可以直接嵌入到应用程序中,不受平台约束,便于测试. h2数据库特点 (1)性能.小巧 (2)同时支持网络版和嵌入式版本,另外还提供了 ...
- 厉害了,Spring Cloud Alibaba 发布 GA 版本!
? 小马哥 & Josh Long ? 喜欢写一首诗一般的代码,更喜欢和你共同 code review,英雄的相惜,犹如时间沉淀下来的对话,历久方弥新. 相见如故,@杭州. 4 月 18 日, ...
- Spring Boot with H2 Database
Learn to configure H2 database with Spring boot to create and use an in-memory database in runtime, ...
- 2018-08-24 中文代码之Spring Boot对H2数据库简单查询
续前文: 中文代码之Spring Boot集成H2内存数据库 在词条中添加英文术语域: @Entity public class 词条 { @Id private long id; private S ...
- Spring官网下载各版本jar包
1:浏览器输入官网地址:http://spring.io/projects 2:点击如图树叶页面按钮. 3:点击如图小猫图片按钮. 4:查找downloading spring artifacts ...
- InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能
InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync repl ...
- Spring Cloud 升级最新 Finchley 版本,踩坑指南!
https://blog.csdn.net/youanyyou/article/details/81530240 Spring Cloud 升级最新 Finchley 版本,踩了所有的坑! 2018年 ...
随机推荐
- [HAOI2011] 向量 - 裴蜀定理
给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个向量(x,y) ...
- [SDOI2008] 校门外的区间 - 线段树
U T 即将区间 \(T\) 范围赋值为 \(1\) I T 即将区间 \(U - T\) 范围赋值为 \(0\) D T 即将区间 \(T\) 赋值为 \(0\) C T 由于 \(S=T-S=T( ...
- [CF269B] Greenhouse Effect - dp
给出 N 个植物,每个植物都属于一个品种,共计 m 个品种,分落在不同的位置上(在一个数轴上,而且数轴是无限长度的),保证读入的位置是按照升序读入的. 现在我们可以进行一个操作:取任意一个位置上的植物 ...
- [Arc068D/At2299] Card Eater - 结论
[Arc068D/At2299] 有一堆牌,每张牌上有一个数字. 每次可以取出其中 \(3\) 张,丢掉数字最大的和数字最小的牌,把中间那张再放回牌堆. 要求最后所有剩余牌上的数字互不相同,求最多能剩 ...
- Appium+python自动化-元素定位uiautomatorviewer的使用
前言 环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. uiautomatorviewer是androi ...
- Lumen跨域问题,PHP CORS Middleware
前导 本篇文字作为?<「新轮子」PHP CORS (Cross-origin resource sharing),解决 PHP 项目程序设置跨域需求.>的续篇. 简介 什么是 medz/c ...
- python vs java Threadpool
python 实现threadpool线程池管理: from concurrent.futures import ThreadPoolExecutor as te from concurrent.fu ...
- C++中的参数类型
C++中的参数类型 数组 数组是相同类型数据的集合.引入数组就不需要在程序中定义大量的变量,大大减少程序中变量的数量,使程序精炼,而且数组含义清楚,使用方便,明确地反映了数据间的联系.许多好的算法都与 ...
- python爬虫模拟登录的图片验证码处理和会话维持
目标网站:古诗文网 登录界面显示: 打开控制台工具,输入账号密码,在ALL栏目中进行抓包 数据如下: 登录请求的url和请求方式 登录所需参数 参数分析: __VIEWSTATE和__VIEWSTAT ...
- 洛谷P1170 兔八哥与猎人 欧拉函数的应用
https://www.luogu.org/problem/P1170 #include<bits/stdc++.h> using namespace std; ],b[],c[],d[] ...