SpringBoot集成H2数据库的实现示例

 更新时间:2024年07月01日 08:34:44   作者:可儿·四系桜  
H2数据库作为一个轻量级的内存数据库,非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证,本文主要介绍了SpringBoot集成H2数据库的实现示例,具有一定的参考的参考价值,感兴趣的可以了解一下

1. 引言

Spring Boot 以其简洁的配置和快速开发能力,成为现代微服务架构的首选框架之一。而H2数据库作为一个轻量级的内存数据库,非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证。本文将手把手教你如何在Spring Boot项目中集成H2数据库,实现数据的快速存取与管理。

2. H2数据库所需依赖

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

3. H2数据库application.yaml配置文件

spring:
  datasource:
    url: jdbc:h2:~/user
    driver-class-name: org.h2.Driver
    username: root
    password: 123456
  h2:
    console:
      path: /h2-console  #h2嵌入式数据库控制台
      enabled: true

4. 初始化h2数据库

注意:

schema为初始化sql路径

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.datasource.init.ScriptUtils;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.io.File;

/**
 * 初始化h2数据库
 */
@Slf4j
@Service
// DataSource创建完后才初始化此类
@AutoConfigureAfter(DataSource.class)
public class H2DataSourceConfig {

    //初始化sql
    private static final String schema = "classpath:db/schema-h2.sql";

    @Autowired
    DataSource dataSource;

    @Autowired
    ApplicationContext applicationContext;

    @PostConstruct
    public void init() throws Exception {
        //初始化本地数据库
        String userHome = System.getProperty("user.home");//获取系统用户目录
        File f = new File(userHome + File.separator + "h2.lck");
        if (!f.exists()) {
            log.info("--------------初始化h2数据----------------------");
            f.createNewFile();
            Resource resource = applicationContext.getResource(schema);
            ScriptUtils.executeSqlScript(dataSource.getConnection(), resource);
        } else {
            log.info("--------------h2数据库已经存在----------------------");
        }
    }
}

 5. 初始化sql语句

在resources目录下创建db/schema-h2.sql文件。

DROP TABLE IF EXISTS student;
CREATE TABLE student
(
    id BIGINT NOT NULL COMMENT 'id',
    name VARCHAR(30)  COMMENT '姓名',
    age INT COMMENT '年龄',
    PRIMARY KEY (id)
);
insert into student(id,name,age) values(1, 'zhangsan',23);
insert into student(id,name,age) values(2, 'lisi',45);
insert into student(id,name,age) values(3, 'wangwu',12);

6. 启动项目 

访问路径为:http://localhost:8080/h2-console

7. 访问数据库 

1. 填写登录信息,如下图所示:

2. 如果有student表,并且有数据,说明数据库配置成功

到此这篇关于SpringBoot集成H2数据库的实现示例的文章就介绍到这了,更多相关SpringBoot集成H2数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis查询实现返回List<Map>类型数据操作

    mybatis查询实现返回List<Map>类型数据操作

    这篇文章主要介绍了mybatis查询实现返回List<Map>类型数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Java判断是否为简体中文字符的实现方法

    Java判断是否为简体中文字符的实现方法

    在应用开发中,判断简体中文字符是一个重要但常被忽视的任务,简体中文和繁体中文在字符上有显著的区别,因此在某些场景下我们需要判断输入的文本是否为简体中文,本文将介绍如何使用Java进行此判断,并提供相应的代码示例,帮助开发者更好地理解这一过程
    2024-09-09
  • MyBatis实现数据库类型和Java类型的转换

    MyBatis实现数据库类型和Java类型的转换

    MyBatis 在处理数据库查询结果或传递参数时,需要将数据库类型与 Java 类型之间进行转换,本文就给大家介绍MyBatis如何实现数据库类型和 Java 类型的转换的,需要的朋友可以参考下
    2024-09-09
  • 基于Spire.Doc for Java实现HTML转PDF的操作方案

    基于Spire.Doc for Java实现HTML转PDF的操作方案

    本文记录了使用Spire.DocforJava将HTML内容转换为PDF文档的过程,包括环境准备、两种常见的转换场景、进阶设置以及注意事项,适用于样式复杂度相对可控、排版以文档流为主的转换需求,需要的朋友可以参考下
    2026-04-04
  • MyBatis实现配置加载的步骤

    MyBatis实现配置加载的步骤

    本文主要介绍了MyBatis实现配置加载的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Spring中使用腾讯云发送短信验证码的实现示例

    Spring中使用腾讯云发送短信验证码的实现示例

    本文主要介绍了Spring 中 使用腾讯云发送短信验证码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 详解Java的Hibernate框架中的注解与缓存

    详解Java的Hibernate框架中的注解与缓存

    这篇文章主要介绍了详解Java的Hibernate框架中的注解与缓存,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • java数据随机分页实现方案

    java数据随机分页实现方案

    本文主要介绍了java数据随机分页实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Spring Boot中捕获异常错误信息并将其保存到数据库中的操作方法

    Spring Boot中捕获异常错误信息并将其保存到数据库中的操作方法

    这篇文章主要介绍了Spring Boot中捕获异常错误信息并将其保存到数据库中的操作方法,通过实例代码介绍了使用Spring Data JPA创建一个异常信息的存储库接口,以便将异常信息保存到数据库,需要的朋友可以参考下
    2023-10-10
  • mybatis-plus3.0.1枚举返回为null解决办法

    mybatis-plus3.0.1枚举返回为null解决办法

    这篇文章主要介绍了mybatis-plus3.0.1枚举返回为null解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论