0


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://blog.csdn.net/a619602087/article/details/128640148
版权归原作者 陪妳去流浪丶 所有, 如有侵权,请联系我们删除。

“Springboot集成轻量级内存数据库H2”的评论:

还没有评论