Springboot集成轻量级内存数据库H2

这篇具有很好参考价值的文章主要介绍了Springboot集成轻量级内存数据库H2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近做一个小项目,需要存储的数据不多,用mysql太重了,用其他的Redis之类的也不太方便,然后就想到了H2,他就是一个jar包,可以和项目一起打包发布,非常适合数据量不多的微小系统,下面大概介绍下H2的基本知识和Springboot的集成

一.什么是H2内存数据库

H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

1.H2用途

  • H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。
  • 它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。
  • H2的第三个用处是作为缓存,作为NoSQL的一个补充。

2.H2优势

  • 纯Java开发的,只有一个jar文件,非常适合作为嵌入式数据库,也支持服务器模式和集群
  • h2提供了一个十分方便的web控制台用于操作和管理数据库内容;
  • 完全支持jdbc和sql,使用起来和mysql没啥区别

二.Springboot集成H2

1.添加依赖

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2.添加配置

spring:
  datasource:
    data: classpath:db/data.sql
    driverClassName: org.h2.Driver
    platform: h2
    schema: classpath:db/table.sql
    url: jdbc:h2:mem:test
    # url:jdbc:h2:~/test
    #url:jdbc:h2:tcp//localhost/〜/test
    username: root
    password: 123123
  h2:
    console:
      enabled: true
      path: /h2
      settings:
        web-allow-others: true
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

    url: jdbc:h2:mem:test  内存模式,数据不会持久化     url:jdbc:h2:~/test  嵌入模式,数据文件存储在用户目录test开头的文件中     url:jdbc:h2:tcp//localhost/〜/test 远程模式,访问远程的h2 数据库

3.resource下添加表结构sql文件和初始化sql文件

table.sql

create table if not exists user(
USER_ID int not null primary key auto_increment,
USER_NAME varchar(50)
);

data.sql

INSERT INTO user (USER_ID,USER_NAME) VALUES(1,'user1');

4.添加实体类

package com.demo.h2.entity;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "user")
public class User {

    @Id
    private int userId;
    private String userName;

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}

5.添加dao

package com.demo.h2.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.demo.h2.entity.User;

@Repository
public interface UserDAO extends JpaRepository<User, Integer> {

}

dao使用方法和一般jps相同,这个就不再赘述

项目启动之后访问http://localhost:8080/h2  就可以访问h2数据库的可视化后台,填入配置的url和驱动,帐号密码等信息进入操作控制台。文章来源地址https://www.toymoban.com/news/detail-467898.html

到了这里,关于Springboot集成轻量级内存数据库H2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 『SEQ日志』在 .NET中快速集成轻量级的分布式日志平台

    📣读完这篇文章里你能收获到 如何在Docker中部署 SEQ:介绍了如何创建和运行 SEQ 容器,给出了详细的执行操作 如何使用 NLog 接入 .NET Core 应用程序的日志:详细介绍了 NLog 和 NLog.Seq 来配置和记录日志的步骤 日志记录示例:博客提供了一个简单的日志记录示例,展示了如何在

    2024年02月11日
    浏览(43)
  • springboot整合MeiliSearch轻量级搜索引擎

    一、Meilisearch与Easy Search点击进入官网了解,本文主要从小微型公司业务出发,选择meilisearch来作为项目的全文搜索引擎,还可以当成来mongodb来使用。 二、starter封装 1、项目结构展示 2、引入依赖包(我是有包统一管理的fastjson用的1.2.83,gson用的2.8.6) 3、yml参数读取代码参考

    2024年02月08日
    浏览(33)
  • 轻量级Web报表工具ActiveReportsJS全新发布v4.0,支持集成更多前端框架!

    ActiveReportsJS 是一款基于 JavaScript 和 HTML5 的轻量级Web报表工具,采用拖拽式设计模式,不需任何服务器和组件支持,即可在 Mac、Linux 和 Windows 操作系统中,设计多种类型的报表。ActiveReportsJS 同时提供跨平台报表设计、纯前端报表展示、多数据源绑定、前端打印导出等功能,

    2024年02月15日
    浏览(32)
  • SimSearch:一个轻量级的springboot项目索引构建工具,实现快速模糊搜索

    大部分项目都会涉及模糊搜索功能,而实现模糊搜索一般分为两个派系: like简约派系 搜索引擎派系 对于较为大型的项目来说,使用Solr、ES或者Milvus之类的引擎是比较流行的选择了(效果只能说优秀),而对于中小型项目,如果考虑这些较为重型的引擎,就意味着开发成本和

    2024年02月02日
    浏览(77)
  • C#轻量级高并发物联网服务器接收程序源码,可对接数万设备,数据库可自行选择(EF6+SQLite或EF+MySQL),适合中高级开发者使用

    c#轻量级高并发物联网服务器接收程序源码(仅仅是接收硬件数据程序,没有web端,不是java,协议自己写,如果问及这些问题统统不回复。 ),对接几万个设备没问题,数据库采用ef6+sqlite,可改ef+MySQL.该程序只是源码使用示例,里面有使用方法,自己研究,难度属中上层不

    2024年04月11日
    浏览(83)
  • 告别if else!试试这款轻量级流程引擎吧,跟SpringBoot绝配!

    之前同事用了一款轻量级的规则引擎脚本 AviatorScript ,我也跟着用了起来,真的挺香,能少写很多代码。这期就给大家介绍一下这款规则引擎。 AviatorScript 是一门高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言。 它起源于2010年,作者对当时已有的一些产品不是

    2024年02月13日
    浏览(34)
  • ETLCloud制造业轻量级数据中台解决方案

    制造业在业务发展过程中产生大量的业务交易数据以及设备运行过程中的状态数据,但是制造业有别于其他互联网或零售行业,其数据处理具有以下特点: 数据量不大,大部分业务系统的数据库表在1000W以下 数据结构复杂,数据需要经过很强的清洗和转换才能成为可用的分析

    2024年02月09日
    浏览(30)
  • HarmonyOS学习路之开发篇—数据管理(轻量级数据存储)

    轻量级数据存储适用于对Key-Value结构的数据进行存取和持久化操作。应用获取某个轻量级存储对象后,该存储对象中的数据将会被缓存在内存中,以便应用获得更快的数据存取速度。应用也可以将缓存的数据再次写回文本文件中进行持久化存储,由于文件读写将产生不可避免

    2024年02月13日
    浏览(34)
  • 【HarmonyOS】API6使用storage实现轻量级数据存储

     写在前面 本篇内容基于API6 JS语言进行开发,通过结合轻量级数据存储开发指导的文档,帮助大家完成一个实际的代码案例,通过这个小案例,可以实现简单数据的存储。 参考文档:文档中心 1、页面布局 首先我们编写一个简单的页面布局,页面中只有一个文本和两个按钮

    2024年02月14日
    浏览(30)
  • Unity实现camera数据注入RMP推送或轻量级RTSP服务模块

    技术背景 随着技术的不断进步和应用的不断深化,Unity3D VR应用的前景非常广阔,它广泛应用于教育、医疗、军事、工业设计、虚拟数字人等多个领域。 教育领域:Unity3D VR技术可以用来创建虚拟现实教室,让学生能够身临其境地体验课程内容,提高学习效果和兴趣; 医疗领

    2024年02月15日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包