• SpringBoot使用H2内嵌数据库


    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

    1.驱动

    我们知道,JDBC是JDK自带的接口规范,不同的数据库有不同的实现,只需要引入相应的驱动包即可。

    在使用MySQL数据库时,引入的是MySQL驱动,相应的,使用H2数据库时,也需要引入H2驱动包:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.199</version>
        <scope>runtime</scope>
    </dependency>
    
    <!--
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.35</version>
        <scope>runtime</scope>
    </dependency>
    -->
    

    2.配置

    在SpringBoot的application.properties文件配置相应属性:

    spring.datasource.driver-class-name=org.h2.Driver
    spring.datasource.url=jdbc:h2:~/folder
    spring.datasource.username=root
    spring.datasource.password=123456
    

    JDBC URL的作用可以决定H2是用内存还是磁盘文件存储数据等,详细介绍如下:

    本地文件

    连接语法([] 可选,<>可变):

    jdbc:h2:[file:][<path>]<databaseName>
    

    例如:

    jdbc:h2:~/test       //连接位于用户目录下的test数据库
    
    jdbc:h2:file:/data/sample
    
    jdbc:h2:file:E:/H2/gacl  //只在Windows下使用
    

    在Window操作系统下,"~"这个符号代表的就是当前登录到操作系统的用户对应的用户目录,比如我当前是使用Administrator用户登录操作系统的,所以在"C:Documents and SettingsAdministrator.h2"目录中就可以找到test数据库对应的数据库文件了。

    内存数据库

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

    连接语法:

    jdbc:h2:mem:<databasename>
    

    示例:

    jdbc:h2:mem:test_mem
    

    远程连接

    这种连接方式就和其他数据库类似了,是基于Service的形式进行连接的,因此允许多个客户端同时连接到H2数据库。

    连接语法:

    jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
    

    范例:

    jdbc:h2:tcp://localhost/~/test  //用户目录下
    
    jdbc:h2:tcp://localhost/E:/H2/gacl  //指定目录
    
    jdbc:h2:tcp://localhost/mem:gacl  //内存数据库
    

    然后,就可以像使用MySQL一样的使用H2了。

    扩展

    https://www.cnblogs.com/xuyatao/p/7080095.html

    版权声明

    【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】

  • 相关阅读:
    go mod 安装依赖 unkown revision问题解决
    K8S学习笔记
    TCP time_wait close_wait问题(可能是全网最清楚的例子)
    认识beanstalkd
    【线上问题系列】DB字段类型变更导致核心服务不可用
    mysql 类型自动化转换问题
    curl 用法
    requests访问https站点证书告警问题
    博客目录
    工作随笔——elasticsearch数据冷热分离、数据冷备
  • 原文地址:https://www.cnblogs.com/onblog/p/13044280.html
Copyright © 2020-2023  润新知