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年 ...
随机推荐
- 斜率优化 DP
CF311B Cats Transport 暑假到现在终于过了这道题
- TODO:rest和restful接口是什么?
todo: 参考: http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html https://www.jianshu ...
- [Agc002E/At1999] Candy Piles - 博弈论
有n堆石子,第i堆有ai个石子.有两种操作: 把石子最多的那一堆给丢掉 把每一堆全部丢掉一个 谁拿走最后石子谁输.判断胜负情况. 直觉转化为一个走棋盘问题 考虑如何计算左下角点的状态 找到原点最右上方 ...
- MyEclipse-2017破解过程
下载 myeclipse2017百度云下载路径: 链接:https://pan.baidu.com/s/1wQYwO2zrUvbbUcjCB5B8IQ 密码:6igu myeclipse2017破解文 ...
- nginx启动时指定配置文件
下载源文件方式安装nginx 会在/usr/local目录下安装nginx 此时虚拟机系统中会有两个nginx 如果启动的时候没有指定配置文件的位置,默认读取的配置文件就是/usr/local/ngi ...
- AntDesign(React)学习-7 Menu添加事件
今天花了大半天时间从老家回到工作地,路上因为肺炎封堵挺厉害,希望国家挺过这个难关,要不大家都失业可就惨了,上一篇做了一个展示数据的demo,这一篇研究antd Menu item点击事件 1.还是先看 ...
- 2019-08-15 纪中NOIP模拟B组
T1 [JZOJ3455] 库特的向量 题目描述 从前在一个美好的校园里,有一只(棵)可爱的弯枝理树.她内敛而羞涩,一副弱气的样子让人一看就想好好疼爱她.仅仅在她身边,就有许多女孩子想和她BH,比如铃 ...
- Codeforces Round #600 (Div. 2) B. Silly Mistake
#include<iostream> #include<map> #include<set> #include<algorithm> using nam ...
- 2020算法设计竞赛 I、匹配星星
链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 天上有n颗星星,每颗星星有二维坐标(xi,yi)(x_i, y_i)(xi,yi),还有一个 ...
- C#.net连接Sybase的方法
一 .ODBC方式连接 1 安装Sybase客户端,安装ODBC驱动,配置DSN<略> 2 连接代码 string strconn = "DSN=TEST;SRVR=TEST;D ...