1 Star 5 Fork 7

香蕉你个哈密瓜/springboot-h2-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

springboot-h2-demo

介绍

h2数据库嵌入式开发,集成于springboot

简介

数据库H2是一款用java语言编写的开源关系型数据库。 该数据库十分适合作为嵌入式数据库使用,来简便一些小型项目快速搭建及运行。 该文章主要讲作为嵌入式数据库使用。

H2的优势

  • 纯Java编写,不受平台的限制;
  • 只有一个jar文件,适合作为嵌入式数据库使用;
  • h2提供了一个十分方便的web控制台用于操作和管理数据库内容;
  • 功能完整,支持标准SQL和JDBC。麻雀虽小五脏俱全;
  • 支持内嵌模式、服务器模式和集群。

h2支持运行三种模式

Embedded (嵌入式) : 无需配置本地(或远程)数据库 ; 数据库连接关闭时,数据与表结构依然存在; In-Memory (内存模式): 同上,区别:数据库连接关闭时,数据与表结构删除; ServerMode(传统模式) : 需要配置本地(或远程)数据库;

内存模式的数据库URL

  jdbc:h2:mem:
  jdbc:h2:mem:<databaseName>
  jdbc:h2:mem:test_mem
  jdbc:h2:tcp://localhost/mem:db1

嵌入模式的URL

  jdbc:h2:[file:][<path>]<databaseName>
  jdbc:h2:~/test
  jdbc:h2:file:/data/sample
  jdbc:h2:file:C:/data/sample (Windows only)

server模式

  jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
  jdbc:h2:tcp://localhost/~/test
  jdbc:h2:tcp://dbserv:8084/~/sample
  jdbc:h2:tcp://localhost/mem:test
  jdbc:h2:ssl://<server>[:<port>]/[<path>]<databaseName>
  jdbc:h2:ssl://localhost:8085/~/sample;

h2结合springboot使用

添加依赖

可以根据自己的项目选择对应的包

	<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>

配置application.yml

spring:
  datasource:
    driver-class-name: org.h2.Driver
    schema: classpath:db/schema.sql #,每次启动程序,程序都会运行schema.sql文件,对数据库的数据操作
    data: classpath:db/data.sql #,每次启动程序,程序都会运行data.sql文件,对数据库的数据操作
    url: jdbc:h2:file:./db/h2db #配置h2数据库的连接地址,该项目主要以嵌入式
    username: root
    password: 123456
  h2:
    console:
      enabled: true #开启web console功能

schema.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.sql

INSERT INTO user (id, name, age, email) VALUES
  (1, 'Eli', 18, 'Eli@example.com'),
  (2, 'Jack', 10, 'Jack@example.com'),
  (3, 'Tom', 28, 'Tom@example.com'),
  (4, 'Sandy', 21, 'Sandy@example.com'),
  (5, 'Billie', 24, 'Billie@example.com');

User.java

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

UserDao.java

@Mapper
public interface UserDao extends BaseMapper<User> {


}

H2Application.java

@SpringBootApplication
public class H2Application {

    public static void main(String[] args) {
        SpringApplication.run(H2Application.class,args);
    }

    @Resource
    private UserDao userMapper;


    @RestController
    public class TestController {
        @GetMapping(value = "/users")
        public List<User> users() {
            return userMapper.selectList(null);
        }
    }

}

测试

访问http://localhost:8080/users

D798EAB28BE145509E2F0A5518EB2ACF.png

Web管理

访问http://localhost:8080/h2-console

填写数据库连接信息,测试连接

01A8BFCCBFB74CF5A3075086B6682416.png

h2的web管理页面 88B156969CA74A4B9ED9CB037890265F.png

项目源码地址

https://gitee.com/KimHX/springboot-h2-demo.git

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

空文件

简介

h2数据库嵌入式开发,集成于springboot 展开 收起
取消

发行版

暂无发行版

贡献者 (2)

全部

近期动态

接近5年前推送了新的提交到 master 分支,41f4bd7...6357858
5年多前推送了新的提交到 master 分支,482322f...41f4bd7
5年多前推送了新的提交到 master 分支,5aaa772...482322f
5年多前推送了新的 master 分支
5年多前创建了仓库
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/KimHX/springboot-h2-demo.git
git@gitee.com:KimHX/springboot-h2-demo.git
KimHX
springboot-h2-demo
springboot-h2-demo
master

搜索帮助