美文网首页Spring-Boot
SpringBoot 接入H2数据库开发

SpringBoot 接入H2数据库开发

作者: 西5d | 来源:发表于2019-12-24 11:07 被阅读0次

    H2数据库简单介绍

    h2 是一个流行的非常轻量级的优秀开源数据库,支持内存和文件模式。在开发和测试阶段使用起来非常简洁,不用单独部署MySQL环境,只需要几条配置就可以启动。而且语法和MySQL十分相似,可以很好的满足测试开发阶段的需求。

    SpringBoot 接入

    接入非常简单,分两部分。第一部分是引入对应的maven依赖,如下

           <dependency>
               <groupId>com.h2database</groupId>
               <artifactId>h2</artifactId>
               <scope>runtime</scope>
           </dependency>
    
    

    其次加入配置文件:

    spring.datasource.url=jdbc:h2:mem:testdb
    spring.datasource.driverClassName=org.h2.Driver
    spring.datasource.username=sa
    spring.datasource.password=password
    spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
    

    注意是配置为内存模式,重启后数据就没有了。最后的jpa项可以不用。如果想配置为文件模式可以将spring.datasource.url配置为jdbc:h2:file:~/testdb,最后~/testdb为文件路径,这里是linux系统,~代表当前用户主目录。文件模式可以参考如下配置:

    spring.datasource.url=jdbc:h2:file:~/testdb
    spring.datasource.driverClassName=org.h2.Driver
    spring.datasource.username=sa
    spring.datasource.password=sa
    spring.h2.console.enabled=true
    

    这里再补充一个有用的工具-h2-console,SpringBoot内置了(没有试试升级版本,示例是2.2.2.RELEASE)。可以图形界面来管理h2数据库。 注意上面的配置中有个spring.h2.console.enabled=true,默认是开启的。在SpringBoot启动日志也可以看到,可以直接在浏览器打开运行,非常方便。

    o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:h2:file:~/testdb'
    

    H2数据库使用

    首先创建测试表,语句如下:

    create table test (
          id bigint auto_increment,
          v varchar(128),
          t datetime,
          i bigint
        );
    

    写入数据语句如下:

         insert into test (id, v, i, t) values (null,'xxxxxx',1222,NOW());
    

    可以使用代码插入数据,建议开始最好用h2-console操作。访问/h2-console,输入配置的账号和密码,然后登录,就可以直接使用了,如下图:

    h2-console.png

    最终通过controller查询的结果:


    查询结果

    感谢阅读!圣诞快乐~

    引用

    [1] [SpringBoot With H2 Database | Baeldung] (https://www.baeldung.com/spring-boot-h2-database)

    相关文章

      网友评论

        本文标题:SpringBoot 接入H2数据库开发

        本文链接:https://www.haomeiwen.com/subject/hmsxoctx.html