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年 ...
随机推荐
- Tomcat启动命令行窗口中文乱码
找到Tomcat安装目录conf/logging.properties文件 添加语句:java.util.logging.ConsoleHandler.encoding = GBK 重启Tomcat
- SDOI2010 粟粟的书架 lg2468(可持久化,前缀和)
题面见https://www.luogu.org/problemnew/show/P2468 然后这道题属于合二为一题,看一眼数据范围就能发现 首先我们先考虑50分,二维前缀和维护一下(反正我不记得公 ...
- 324. 摆动排序 II(三路划分算法)
题目: 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1: 输入: nums = [ ...
- HashMap源码(一)
本文主要是从学习的角度看HashMap源码 HashMap的数据结构 HashMap是一个数组+链表的结构(链表散列),每个节点在HashMap中以一个Node存在: HashMap的初始化 publ ...
- Qt程序异常结束,The process was ended forcefully....
我用的Qt版本是5.9.6,运行了好几次程序都妥妥当当的,然后就被安排上了...出现如下错误: 也是刚入手Qt不久,出现这样的错误我以为是代码的问题,然后撤销一些代码发现还是这样的错,索性就关闭Qt然 ...
- KindEditor 编辑器前台得使用规范
官方网址:http://www.kindsoft.net/下载网址:http://www.kindsoft.net/down.php 引入得脚本: <link href="~/Cont ...
- [CF1236D] Alice and the Doll - 模拟,STL
[CF1236D] Alice and the Doll Description \(N \times M\)网格,有 \(K\) 个格子里有障碍物.每次经过一个格子的时候只能直走或者右转一次.初态在 ...
- [一本通学习笔记] RMQ专题
傻傻地敲了好多遍ST表. 10119. 「一本通 4.2 例 1」数列区间最大值 #include <bits/stdc++.h> using namespace std; const i ...
- Linux oracle中文乱码的问题解决
乱码问题的根源是字符集的修改 1.查看linux的默认语言 2.查看客户端的语言编码设置 配置文件中的配置: cat ~/.bash_profile 注意修改配置信息: export PATHexp ...
- python3练习100题——015
原题链接:http://www.runoob.com/python/python-exercise-example15.html 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用 ...