文章目录

  • H2数据库
  • HSQLDB
  • Apache Derby
  • SQLite

在Spring Boot中使用内存数据库

所谓内存数据库就是可以在内存中运行的数据库,不需要将数据存储在文件系统中,但是相对于普通的数据库而言,内存数据库因为数据都在内存中,所以内存的数据库的存取速度会更快。

本文我们将会讨论如何在Spring Boot中使用内存数据库。

H2数据库

H2是一个由java实现的开源内存数据库,它可以支持内存模式和独立模式。 如果要使用H2数据库,需要添加如下依赖:

<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>1.4.194</version>
</dependency>

我们可以在配置文件中设置更多的H2数据库的连接信息:

driverClassName=org.h2.Driver
url=jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1
username=sa
password=sa

默认情况下H2数据库当没有连接的时候会自动关闭,我们可以通过添加DB_CLOSE_DELAY=-1来禁止掉这个功能。

如果我们需要使用Hibernate, 我们需要设置如下内容:

hibernate.dialect=org.hibernate.dialect.H2Dialect

HSQLDB

HSQLDB是一个开源项目,java写的关系型数据库。它可以支持基本的SQL操作,存储过程和触发器。同样嵌入式或者单独使用。

我们看下怎么添加依赖:

<dependency><groupId>org.hsqldb</groupId><artifactId>hsqldb</artifactId><version>2.3.4</version>
</dependency>

下面是HSQLDB的配置文件:

driverClassName=org.hsqldb.jdbc.JDBCDriver
url=jdbc:hsqldb:mem:myDb
username=sa
password=sa

同样的如果使用hibernate需要配置如下属性:

hibernate.dialect=org.hibernate.dialect.HSQLDialect

Apache Derby

Apache Derby 是由Apache基金会维护的开源项目。

添加依赖:

<dependency><groupId>org.apache.derby</groupId><artifactId>derby</artifactId><version>10.13.1.1</version>
</dependency>

配置文件:

driverClassName=org.apache.derby.jdbc.EmbeddedDriver
url=jdbc:derby:memory:myDb;create=true
username=sa
password=sa

对应的hibernate配置:

hibernate.dialect=org.hibernate.dialect.DerbyDialect

SQLite

SQLite也是一种内存数据库,我们这样添加依赖:

<dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.16.1</version>
</dependency>

配置文件如下:

driverClassName=org.sqlite.JDBC
url=jdbc:sqlite:memory:myDb
username=sa
password=sa

使用Spring Boot可以很方便的使用上面提到的内存数据库。

更多精彩内容且看:

  • 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  • Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
  • Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  • java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程

更多教程请参考 flydean的博客

在Spring Boot中使用内存数据库相关推荐

  1. 在Spring Boot使用H2内存数据库

    文章目录 添加依赖配置 数据库配置 添加初始数据 访问H2数据库 在Spring Boot使用H2内存数据库 在之前的文章中我们有提到在Spring Boot中使用H2内存数据库方便开发和测试.本文我 ...

  2. 在Spring Boot中加载初始化数据

    文章目录 依赖条件 data.sql文件 schema.sql 文件 @sql注解 @SqlConfig 注解 在Spring Boot中加载初始化数据 在Spring Boot中,Spring Bo ...

  3. Spring Boot中的测试

    文章目录 简介 添加maven依赖 Repository测试 Service测试 测试Controller @SpringBootTest的集成测试 Spring Boot中的测试 简介 本篇文章我们 ...

  4. 再谈Spring Boot中的乱码和编码问题

    编码算不上一个大问题,即使你什么都不管,也有很大的可能你不会遇到任何问题,因为大部分框架都有默认的编码配置,有很多是UTF-8,那么遇到中文乱码的机会很低,所以很多人也忽视了. Spring系列产品大 ...

  5. 【spring boot2】第8篇:spring boot 中的 servlet 容器及如何使用war包部署

    嵌入式 servlet 容器 在 spring boot 之前的web开发,我们都是把我们的应用部署到 Tomcat 等servelt容器,这些容器一般都会在我们的应用服务器上安装好环境,但是 spr ...

  6. Spring Boot 中使用 MongoDB 增删改查

    本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1.什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件 ...

  7. Spring Boot 中使用@Async实现异步调用,加速任务执行!

    欢迎关注方志朋的博客,回复"666"获面试宝典 什么是"异步调用"?"异步调用"对应的是"同步调用",同步调用指程序按照 ...

  8. 徒手解密 Spring Boot 中的 Starter自动化配置黑魔法

    我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中.Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小 ...

  9. Maven中的profile和spring boot中的profile进行结合

    2019独角兽企业重金招聘Python工程师标准>>> 有一些应用,采用了spring boot和spring boot profile.然后想把maven 中的profile和sp ...

最新文章

  1. 2015化妆品行业如何进行微信公众号营销
  2. java递归基本结构_JAVA学习入门篇_递归结构
  3. MySQL调优系列基础篇
  4. BZOJ4122 : [Baltic2015]File paths
  5. android ocr识别源码_身份证识别OCR解决手动输入繁琐问题
  6. java 快速读文件_java快速读取文件
  7. 实战 | Vue + Element UI 页面创建
  8. .Net事件委托备忘
  9. unix到底有啥用_微信新上线的「拍拍」到底有啥用?
  10. UVA11021 Tribles
  11. python小学教材全解_小学教材全解三年级下数学
  12. 普华永道:AI到2030年将带动全球GDP增长14%,中国成最大受益国
  13. Windows获取本地安装软件详细信息(对标卸载程序控制面板)
  14. 电脑重装系统后Win11底部任务栏大小调整方法
  15. linux运行程序 -sh: ./xxxxx: not found 解决办法
  16. H3C设备链路聚合(LACP/PAGP)
  17. 贪心算法基础(一)——数列极差
  18. 网狐棋牌316版 更新下载 备注
  19. 汉诺塔matlab实现
  20. 【智能物流】罗戈研究院京东物流《数字化供应链综合研究报告》;AI智慧仓储和物流能为传统制造企业做这4件事

热门文章

  1. 文件夹的位置_感觉电脑变卡了?删除这5个文件夹 C盘立马清爽
  2. Python数据库的连接
  3. [PKUWC2018][loj2537]Minimax
  4. 详细解析Raid0、Raid0+1、Raid1、Raid5四者的区别
  5. boost.asio系列——io_service
  6. 日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
  7. _cdecl和_stdcal的区别
  8. Redis 缓存常见问题:缓存一致性的解决方案
  9. 第50讲:Scrapy 部署不用愁,Scrapyd 的原理和使用
  10. 摊牌了,我 HTTP 功底贼好!