1 Star 6 Fork 6

香蕉你个哈密瓜 / 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 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
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

搜索帮助