IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 开发工具 - springboot整合h2数据库 -> 正文阅读

[Java知识库]开发工具 - springboot整合h2数据库

1.h2介绍

官方文档,最为致命:https://www.ctolib.com/docs/sfile/h2-database-doc/index.html

H2数据库是由Java编写、基于内存的数据库,它所占的空间非常小。虚拟机启动的时候建立数据库,虚拟机关闭的时候销毁数据库。

由于h2数据库可缓存临时数据等特点,所以此数据库经常用于测试,在SpringBoot中可直接使用导入依赖使用,不用再去下载一个本地程序作为数据库的载体。

H2控制台应用程序还可以通过浏览器访问数据库。


2.Springboot整合H2

环境:JDK1.8+,Maven,IDEA,internet,… …

这里本地安装的方式就不,直接在SpringBoot上引入h2数据库依赖,即插即用,非常的方便。

下面是项目目录(仅供参考):

在这里插入图片描述

我们创建一个SpringBoot项目,引入Mybatis-plus依赖(用来访问h2数据库),点击我查看详细步骤

<!--mybatis plus 间接引入mybatis-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>

2.1 h2依赖

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

2.2 yml配置文件

针对下面的配置信息,做出一点解释:

  1. schema:虚拟机启动程序后,读取这个脚本建数据库。
  2. data:插入数据库的数据。
spring:
  datasource:
    driver-class-name: org.h2.Driver
    schema: classpath:db/schema-h2.sql
    data: classpath:db/data-h2.sql
    # No restrictions on table names
    url: jdbc:h2:mem:h2
    # No restrictions on username and password
    username: root
    password: 123

#mybatis
mybatis:
  type-aliases-package: com.pdh.entity
  mapper-locations: classpath:/mybatis/*.xml

2.3 SQL脚本

这里提供SQL脚本,schema和data,都发在resource包下的db包下(新建db包):

schema-h2.sql

DROP TABLE IF EXISTS user;

CREATE TABLE user(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);

data-h2.sql

DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

2.4 实体类

@TableName(value = "user") //访问h2数据库
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField(value = "name")
    private String name;

    @TableField(value = "age")
    private Integer age;

    @TableField(value = "email")
    private String email;
}

2.5 Mapper

public interface UserMapper extends BaseMapper<User> { // Mapper接口继承BaseMapper后,可以调用它的诸多方法
}

之后需要把此类的包进行扫描,在启动类上加上@MapperScan(“com.pdh.mapper”)注解实现扫描加载到容器。

2.6 测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserMapper mapper;

    @Test
    public void findAll(){
        mapper.selectList(null).forEach(System.out::println);
    }
}

得到的数据

User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)

到这里,springboot整和h2数据库就完成了。


3.未完待续 …

目前为止,还不能更进一步学习和使用h2数据库,之后如果有机会学习h2数据库,会带来更多内容 ^_^~!!!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:08:16  更:2021-09-13 09:09:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:45:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码