展开

关键词

spring使用内存数据库(h2)

什么是内存数据库内存数据库,就是不需要去安装类似于mysql、oracle等这些数据库,而是通过程序运行的时候将sql执行将数据读取到内存中,程序结束后从内存中移除,减少因为安装sql或者一系类配置。 内存数据库可以解决什么问题? 没有测试环境,测试数据不能直接干扰真实线上数据; 环境原因,导致连接的时候慢、卡顿、超时等问题,本地装库又繁琐; 有哪些内存数据库? derby/ sqlite 参考:https://www.sqlite.org/index.html https://www.runoob.com/sqlite/sqlite-tutorial.html 内存数据库这么多 、慢、卡顿或者杂七杂八的一些原因,导致自测或者说自搭本地库非常繁琐,而通过这种h2或者FlyWay可以直接解决本地开发的问题,并且通过单元测试后可以直接将结果展示出来,验证程序的正确性,当然这种内存数据库有一定的弊端

41720

在Spring Boot使用H2内存数据库

在Spring Boot使用H2内存数据库 在之前的文章中我们有提到在Spring Boot中使用H2内存数据库方便开发和测试。本文我们将会提供一些更加具体有用的信息来方便我们使用H2数据库。 </artifactId> <scope>runtime</scope> </dependency> 数据库配置 有了上面的依赖,默认情况下Spring Boot会为我们自动创建内存H2数据库 spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.H2Dialect 默认情况下内存数据库会在程序结束之后被销毁 ,如果我们想永久保存内存数据库需要添加如下配置: spring.datasource.url=jdbc:h2:file:/data/demo 这里配置的是数据库的文件存储地址。 访问H2数据库 虽然是一个内存数据库,我们也可以在外部访问和管理H2H2提供了一个内嵌的GUI管理程序,我们看下怎么使用。

1.6K30
  • 广告
    关闭

    腾讯云图限时特惠0.99元起

    腾讯云图是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。新用户0.99元起,轻松搞定数据可视化

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    H2内存数据库的函数「建议收藏」

    每个数据库为了使用者的查询简便性以及使用效率,都有专门提供一些函数给使用者进行使用,H2也同样如此,虽然没有oracle那么多强大的函数,但是一般需求的使用还是能够满足,下面就简单介绍下都有哪些函数 一 10000 以内的值都被保存在内存中。聚合函数只能在SELECT语句中使用。 例子如下:CALL DATABASE(); DATABASE_PATH() 返回数据库文件路径和数据库名,如果不是基于文件的数据库,返回NULL。 例子如下:CALL LINK_SCHEMA(‘TEST2‘, ‘‘, ‘jdbc:h2:test2‘, ‘sa‘, ‘sa‘, ‘PUBLIC‘); MEMORY_FREE() 返回空闲内存,单位为 这个值在数据库重启后也是唯一的值(值不会被重新使用)。

    21430

    SpringBoot中H2内存数据库的使用

    在开发测试过程中,由于种种原因,连接Mysql或者Oracle进行测试可能会产生很多问题,比如网络原因,线上数据库冲突以及性能等问题,这时候如果能将数据库跑在内存中,会省很多问题 下面记录一份H2内存数据库的使用方法 scope为test范围 <dependency> <groupId>com.h2database</groupId> <artifactId>h2 配置数据源 spring: datasource: ## 这里和引入mysql驱动没什么区别 driver-class-name: org.h2.Driver url: jdbc:h2 :mem:test ## 由于数据库会跑在内存中,所以程序需要在启动的时候在内存中创建数据库,这里指定数据库的表结构(schema)和数据信息 (data),语法和mysql大同小异 schema : classpath:db/schema.sql data: classpath:db/data.sql 经过上面两步的配置,就可以直接在程序中无感知(和使用Mysql时候一样)使用H2内存数据库

    70830

    H2 数据库

    H2 H2 是标准 SQL 的关系型数据库,由 java 编写,整个 H2 是一个 jar 包(大约 2.5MB),其开源且使用 JDBC API 进行调用。 其主要特性如下: 非常快,开源,JDBC API 嵌入式和服务器模式;可基于内存数据库 事务支持,多版本并发,全文搜索,可加密数据库 基于浏览器的控制台应用程序 占用空间小:大约 2.5 MB jar 模式、存储与兼容 H2 支持嵌入、服务器、混合的运行模式,以及在内存或持久性的数据存储方式,还有兼容各类数据库 2.1 模式 嵌入模式:应用程序和数据库在同一个 JVM 中,这是最快和最简单的连接模式。 第一个连接数据库的应用程序以嵌入式模式运行,其他应用程序可同时访问相同的数据 2.2 存储 内存存储:意味着数据存储于内存之中,当关闭最后一个连接的时候内容即丢失,但可添加参数 DB_CLOSE_DELAY /持久化到本项目根目录 # mem:test 存放到内存中 url: jdbc:h2:.

    6730

    H2 数据库

    最近做演示项目的时候需要一个数据库,但不想安装。 于是查看了embedded datasource : h2 h2: 依赖: <dependency> <groupId>com.h2database</groupId> <artifactId >h2</artifactId> </dependency> h2: 驱动名称: org.h2.Driver h2: jdbc url: 内存模式: jdbc:h2:mem:test embedded: jdbc:h2:file:. /db/springboot 最关键的是,file要指定绝对路径,即不能jdbc:h2:file:db/springboot这样说报错,说没指定具体位置。

    55460

    Spring Boot和内存数据库H2的使用教程

    本指南将帮助您了解内存数据库的概念。我们将看一下简单的JPA示例,以了解在内存数据库中使用的最佳实践。 什么是内存数据库? 为什么使用内存数据库? 使用内存数据库的最佳做法是什么? 如何将Spring Boot项目连接到H2? 什么是内存数据库? 典型的数据库涉及大量的设置。 在这种情况下,内存数据库提供了理想的解决方案。 应用程序启动时会创建内存数据库,并在应用程序停止时销毁。 好处 零项目设置或基础设施 零配置 零维护 易于学习,POC和单元测试 Spring Boot提供了简单配置,可以在真实数据库内存数据库(如H2)之间切换 H2   H2内存数据库中的流行之一。 H2和Spring Boot组合如何工作? 首先也是最重要的事情 - Spring Boot很聪明。 如果您正在与内存数据库进行通信,则默认情况下,它会查看实体并创建数据库和表。

    2K20

    Java内存数据库-H2介绍及实例(SpringBoot)

    介绍 内存数据库(Embedded database或in-momery database)具有配置简单、启动速度快、尤其是其可测试性等优点,使其成为开发过程中非常有用的轻量级数据库。 在spring中支持HSQL、H2和Derby三种数据库。 ? 总的感觉H2很厉害的样子,既然是这样的话,我们先介绍H2的使用,然后在介绍HSQLDB的使用。 (4)编写测试类; 以上可以说都是准备工作,到这里才是到了本节核心的地方,在具体提供源代码之前,先说一下具体的一个思路:我们这里要使用repository保存数据到h2数据库,我们需要提供一个实体类DemoInfo 127.0.0.1:8080/findAll 会看到save进入的数据; 重新启动App.java,再访问: http://127.0.0.1:8080/findAll 此时没有数据,说明了数据只保存在内存中 (7)实现h2数据库本地化; 我们会发现程序一重新启动,数据就都不见了,有些时候,我们还是希望数据能一直存在的,那么问题就是h2如何实现本地化呢?

    99520

    h2数据库使用(h2数据库生成的文件)

    h2数据库进入shell java -cp .. /lib/h2-1.4.200.jar org.h2.tools.Shell Welcome to H2 Shell 1.4.200 (2019-10-14) Exit with Ctrl+C [Enter ] jdbc:h2:~/test URL jdbc:h2:/usr/local/db/xxx-xxx [Enter] org.h2.Driver Driver [Enter]

    5710

    SpringBoot使用H2内存数据库单元测试的代码示例

    【1】使用H2这类内存数据库进行单元测试。 【2】使用MySQL数据库,测试后回滚。 两种方案各有利弊,个人倾向于前者。 2.1 使用H2这类内存数据库进行单元测试 官网地址:http://www.h2database.com/html/main.html github地址:https://github.com/h2database /h2database 使用H2内存数据库来单元测试的优势在于 h2更快速,且支持JDBC API。 个人更倾向于推荐这种内存数据库进行DAO层单测的方式。 大家还可以进入h2的驱动jar包和mybatis的jar中查看源码的逻辑。 通过这些可以学到更多内容。 五、总结 本文主要讲述SpringBoot使用H2内存数据库进行单元测试的案例。

    76030

    java h2数据库_JAVA 项目中使用 H2 数据库

    JAVA 项目中使用 H2 数据库 发布时间:2018-06-08 15:43, 浏览次数:823 , 标签: JAVA 为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个 /test 上面jdbc:h2:tcp://localhost/~/test中的test是数据库的名字,H2默认如果数据库不存在的话,会自动创建一个数据库的。 H2 控制台 关于H2 数据库的连接方式 连接H2数据库有以下方式 * 服务式 (Server) * 嵌入式(Embedded) * 内存(Memory) 还没太仔细研究,到目前的理解: 嵌入式的话,就是这个 内存方式,顾名思义,数据仅保持在内存中 嵌入式和服务式主要体现在JDBC连接的URL方式不同,上面例子中给的是服务式的。 * 服务式 (Server) jdbc:h2:tcp://localhost/~/test * 嵌入式(Embedded) jdbc:h2:~/test * 内存式(Memory) jdbc:h2:tcp

    1710

    H2 数据库使用简介

    第三个用途是作为缓存,即当做内存数据库,作为NoSQL的一个补充。 点击帮助,会提示一些关于 H2 数据库使用的帮助信息。 缺点是数据库可能只在任何时候在一个虚拟机(和类加载器)中打开。与所有模式一样,支持持久性和内存数据库。对并发打开数据库的数量或打开连接的数量没有限制。 与所有模式一样,支持持久性和内存数据库。对每个服务器并发打开的数据库数量或打开连接的数量没有限制。 5.3 混合模式 混合模式是嵌入式和服务器模式的结合。 可参考如下博客文章学习 Java 连接 H2: Java嵌入式数据库H2学习总结(一)——H2数据库入门 Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库 Java嵌入式数据库

    10010

    Java连接H2数据库

    一、Maven依赖 com.h2database h2 1.4.200 runtime 二、实现代码 h2数据库的连接和MySQL连接一样,都可以用jdbc private static final String DRIVER = "org.h2.Driver"; private static final String URL = "jdbc:h2 :tcp://localhost/D:/Program Files (x86)/H2/bin/sea"; private static final String USER = "sa"; 数据库 private static Connection getConnection() { if (null ! = conn) System.out.println("H2数据库连接成功!")

    63510

    H2 数据库中文乱码处理

    一、数据导入导出乱码处理 1、指定字符编码和文件分隔符导出表数据 CALL CSVWRITE('/home/h2/test.csv', 'SELECT * FROM TEST', 'charset=UTF -8 fieldSeparator=|'); 2、指定字符编码和文件分隔符导入表数据 CREATE TABLE test AS SELECT * FROM CSVREAD('/home/H2/test.csv ','id|name', 'charset=UTF-8 fieldSeparator=|'); 二、 H2函数处理中文乱码 使用H2自带的UTF-8函数处理 CALL UTF8TOSTRING(STRINGTOUTF8 H2 数据库入门和基本使用:https://blog.csdn.net/qq262593421/article/details/108651119

    47840

    SpringBoot配置使用H2数据库

    什么是h2数据库H2是一个Java编写的关系型数据库,它可以被嵌入Java应用程序中使用,或者作为一个单独的数据库服务器运行。 username: h2 password: h2 ##数据初始化设置 #进行该配置后,每次启动程序,程序都会运行resources/db/schema.sql文件,对数据库的结构进行操作 data: classpath:db/data.sql ##h2 web console设置 #表明使用的数据库平台是h2 platform: h2 # 进行该配置后,h2 web enabled: true 生成内存数据库H2 启动H2数据库有两种方式 第一种: 自动执行.sql文件,每次重新启动项目是,都会去运行一次操作文件 DROP TABLE IF EXISTS `student ,借用Spring Data Jpa的注解,启动时自动创建内存数据库 @Entity @Data @Accessors(chain = true) @Table(name = "student") @AllArgsConstructor

    82850

    Confluence 6 嵌入的 H2 数据库

    为了让你的 Confluence 在安装成功后就可以使用而不需要使用任何外部的数据库,Confluence 使用一个嵌入的 H2 数据库。 当你选择对 Confluence 进行评估和测试的时候,H2 数据库是默认被启用的。 嵌入的 H2 数据库存储在你 Confluence 的 home 目录中  <confluence-home>/database。 嵌入 H2 数据库仅仅支持你对 Confluence 进行评估和测试,如果你决定将 Confluence 用作生产环境的话,你必须整合到  supported 外部数据库中。 希望找到你现在是否在使用嵌入的数据库,进入 ?

    29540

    JAVA内嵌数据库H2的使用入门

    H2数据库是开源的,非常适合做嵌入式数据库使用,尤其用java编码的时候。 H2的优势:     1、h2采用纯Java编写,因此不受平台的限制。      2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。     3、h2提供了一个十分方便的web控制台用于操作和管理数据库内容。 /config/test"; jdbcCP = JdbcConnectionPool.create("jdbc:h2:" + dbPath, "sa", ""); jdbcCP.setMaxConnections Connection getConnection() throws SQLException { return jdbcCP.getConnection(); } } 实例化时若数据库 = null) { conn.close(); } } } 实现对数据库的操作 包括建表,新增数据,查询等操作; 以上,应该是入门了!

    73010

    H2 数据库入门和基本使用

    一、H2数据库安装 1、H2官方下载 H2官网:http://h2database.com/html/main.html H2教程一:https://www.ctolib.com/docs/sfile 3、登录H2数据库 选择安装版的好处是安装之后有 H2 Console 图标,点击图标可以直接启动H2并使用默认浏览器访问H2登录页面 ? ? 2、./ 读取的路径在%H2%/bin,如果用默认的 ./ 创建数据库,则在%H2%/bin下创建数据库 xx.mv.db 文件 ? ? xx.mv.db 为 H2数据库文件 ,tcp的URL默认读取的是 C:\Users\com下(com为系统用户名)的数据库文件 读取本地目录下的指定文件夹的数据库使用 (1) jdbc:h2:file : + 数据库路径 + 数据库名称 (2) jdbc:h2:tcp://localhost/ + 数据库路径 + 数据库名称 jdbc:h2:file:D:/Program Files (x86)/H2

    2.3K11

    H2 数据库插入时间的方法

    如果希望向 H2 中插入时间,你可以使用下面的方法插入: ('CWIKIUS.CN', 'client-name-01.csv', '65', 'NEW','2020-10-22 12:47:52.690 你需要的格式: '2020-10-22 12:47:52.690' 如果你希望插入当前的时间,你可以用时间函数 CURRENT_TIMESTAMP() 上面的时间函数,将会向数据库表中插入当前的时间。 https://www.ossez.com/t/h2/606

    45520

    相关产品

    • 云数据库 Redis

      云数据库 Redis

      云数据库 Redis,数据库缓存,数据库存储,云数据库 云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。 云数据库Redis是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券