1. 概述

  1. 在 Spring 开发中, 引入 H2 做辅助测试数据库

2. 场景

  1. 复习 Spring, 复习到 持久化 部分

    1. 需要一个 数据库 来做测试
  2. 方案

    1. 方案1: 搭建 MySQL 实例

      1. 虽然现在有 docker 环境, 但我还是懒得弄

        1. 真的懒...
    2. 方案2: 使用 H2 数据库

      1. 使用 embedded 版本

        1. 可以使用 内存数据库
        2. 随用随启
        3. 数据每次都是新的
      2. 嗯, 决定就是它了
  3. 思路

    1. H2 的使用, 也特别简单

      1. maven 添加好依赖
      2. 简单配置
      3. 启动项目
      4. 验证启动即可

3. 环境

  1. os

    1. win10
  2. jdk

    1. 1.8
  3. ide

    1. ida 2018.1
  4. spring

    1. spring boot

      1. 2.1.7 release
    2. 组件
      1. thymeleaf
      2. starter-web
      3. devtool
      4. starter-test
  5. browser

    1. firefox

      1. 70.0
  6. H2

    1. 1.4.197
  7. ref

    1. spring in action 5th

4. 步骤们

1. 引入依赖

  1. 概述

    1. 在 pom 文件里引入依赖
  2. 代码如下

    <!-- 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>
  3. 解释

    1. 引入 JdbcTemplate

      1. 与 H2 交互的时候, 真的需要驱动
    2. 引入 H2
      1. 使用数据库
  4. 注意

    1. 引入后一定要确保 lib 下下来

      1. 我没有确认, 然后傻等了好久
      2. 都开始找 bug 了

2. 配置

  1. 概述

    1. H2 数据库的启动, 打开 web console

      1. 因为启动在 spring 的同个 jvm 里, 不太好确认

        1. 可以通过 run > endpoint > health 下看到 有个 db
  2. 配置文件

    # dataSource: H2
    ## H2: 开启 console
    ### 开启 console
    spring.h2.console.enabled=true
    ### 设定 console 路径
    spring.h2.console.path=/console

3. 验证

  1. 重启项目

  2. 打开浏览器, 进入 console

    # 如果能打开, 说明启动成功了
    localhost:8080/console

ps

  1. ref

    1. Spring Boot – Spring Data JPA with Hibernate and H2 Web Console

      1. 这里用的是 jpa 配合 hibernate 的方案, 可以看看
  2. 问题

    1. 我们要测试的数据, 如何写入
    2. 我们写入后, 如何通过这个 console 查看
    3. 这些问题, 我会在后面的博客里继续说明

Spring - 周边设施 - H2 embedded 版本引入的更多相关文章

  1. Spring - 周边设施 - H2 数据库启动时写入数据

    1. 概述 之前讲到了 H2 的引入 这下我想说说 H2 启动时的 数据导入 2. 场景 需求 启动项目后, H2 启动起来 环境数据会自动注入 H2 数据库 可以验证是否成功 3. 环境 os wi ...

  2. spring boot整合H2数据库

    一.背景: .H2数据库是一个开源的关系型数据库.H2是一个嵌入式数据库引擎,采用java语言编写,不受 平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准,支持集群. ...

  3. Spring Boot + Mybatis + H2 database数据库

    H2 Database H2 由纯 Java 编写的开源关系数据库,可以直接嵌入到应用程序中,不受平台约束,便于测试. h2数据库特点 (1)性能.小巧 (2)同时支持网络版和嵌入式版本,另外还提供了 ...

  4. 厉害了,Spring Cloud Alibaba 发布 GA 版本!

    ? 小马哥 & Josh Long ? 喜欢写一首诗一般的代码,更喜欢和你共同 code review,英雄的相惜,犹如时间沉淀下来的对话,历久方弥新. 相见如故,@杭州. 4 月 18 日, ...

  5. Spring Boot with H2 Database

    Learn to configure H2 database with Spring boot to create and use an in-memory database in runtime, ...

  6. 2018-08-24 中文代码之Spring Boot对H2数据库简单查询

    续前文: 中文代码之Spring Boot集成H2内存数据库 在词条中添加英文术语域: @Entity public class 词条 { @Id private long id; private S ...

  7. Spring官网下载各版本jar包

    1:浏览器输入官网地址:http://spring.io/projects 2:点击如图树叶页面按钮.  3:点击如图小猫图片按钮.  4:查找downloading spring artifacts ...

  8. 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 ...

  9. Spring Cloud 升级最新 Finchley 版本,踩坑指南!

    https://blog.csdn.net/youanyyou/article/details/81530240 Spring Cloud 升级最新 Finchley 版本,踩了所有的坑! 2018年 ...

随机推荐

  1. PP: Toeplitz Inverse Covariance-Based Clustering of Multivariate Time Series Data

    From: Stanford University; Jure Leskovec, citation 6w+; Problem: subsequence clustering. Challenging ...

  2. python3函数的参数

    函数的定义能简化代码的逻辑,对于函数的调用者来说,只需要知道如何正确的传递参数,以及知道函数将返回什么值就可以了,而函数内部的复杂逻辑被封装起来,调用者不必了解. 位置参数 调用函数时,传入实参的值按 ...

  3. django 版本 对应pyhton版本

    对应关系

  4. 并查集路径减半优化 UnionFind PathHalving (C++)

    /* * UnionFind.h * 有两种实现方式,QuickFind和QuickUnion * QuickFind: * 查找O(1) * 合并O(n) * QuickUnion:(建议使用) * ...

  5. PLSQL官网下载地址

    记录一下 https://www.allroundautomations.com/registered/plsqldev.html

  6. Java中数字的格式化输出

    Java中数字的格式化输出 double d = 345.678; String s = "hello!"; int i = 1234; //"%"表示进行格式 ...

  7. 组合数的计算以及组合数对p取余后结果的计算

    前奏:统计 n! 中的所有质因子中pi的个数 普通方法:复杂度O(nlogn), 当n为10的18次方无法承受 // 复杂度O(nlogn), n为10的18次方无法承受 int cal(int n, ...

  8. XMLHttpRequest: 网络错误 0x2ee4, 由于出现错误 00002ee4 而导致此项操作无法完成

    原因: IE11有默认设置安全策略,如果url需要证书,一发送请求IE11就会拒绝,因为ssl certificate(SSL证书) 是非法的 解决方案: (1)修改IE浏览器配置 - 用户使用的电脑 ...

  9. 终极教程【zhong】

    just for a better future! 资源教程               aiim                   综合类 前端知识体系 前端知识结构 Web前端开发大系概览 We ...

  10. Jarvis OJ - 栈系列部分pwn - Writeup

    最近做了Jarvis OJ的一部分pwn题,收获颇丰,现在这里简单记录一下exp,分析过程和思路以后再补上 Tell Me Something 此题与level0类似,请参考level0的writeu ...