码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 内置数据库H2和内置Redis(测试结果来啦)


    背景介绍

    为什么我们需要内置的数据库和Redis呢?

    优点:

    • 内置的数据库H2,可以让我们在无依赖数据库的情况下,做集成测试。比如我们想测试添加一个学生到数据库,就需要启动一台数据库来验证结果。然而使用H2内置数据库的话,就可以在无依赖数据库的情况下,进行验证。
    • 数据库H2是内存级的,如果有大量集成测试(IT:Integration Test)的话,可以缩短测试时间。
    • Embedded Redis同上,使我们在无依赖Redis的情况下,做测试。
    • 还有一个小优点,就是对于新手或者不熟悉后端的前端小伙伴来说,他们在可以不配置Mysql和Redis就直接把整个项目run起来~

    缺点:

    • H2并不能兼容所有数据库的功能,比如函数,或者一些特殊索引之类的。使用H2的话,Mysql的表结构不能直接导入,需要做一些调整。
    • Embeded Redis同样不能完全兼容真正的Redis, 一些特殊用法可能会出错。

    引入H2数据库代码实现

    1.引入内置的H2数据库

    因为我想做到使用H2直接启动项目,所以scope设置为runtime,如果仅用H2做测试用的话,请设置成test

    1. <dependency>
    2. <groupId>com.h2database</groupId>
    3. <artifactId>h2</artifactId>
    4. <scope>runtime</scope>
    5. </dependency>

    2.yml文件内数据库的配置,改成H2

    1. # 数据源配置
    2. spring:
    3. datasource:
    4. # 驱动
    5. driver-class-name: org.h2.Driver
    6. # h2 内存数据库 内存模式连接配置 库名: agileboot
    7. url: jdbc:h2:mem:agileboot;DB_CLOSE_DELAY=-1
    8. h2:
    9. # 开启console 访问 默认false
    10. console:
    11. enabled: true
    12. settings:
    13. # 开启h2 console 跟踪 方便调试 默认 false
    14. trace: true
    15. # 允许console 远程访问 默认false
    16. web-allow-others: true
    17. # h2 访问路径上下文
    18. path: /h2-console
    19. sql:
    20. init:
    21. platform: mysql
    22. # 初始化数据
    23. schema-locations: classpath:h2sql/agileboot_schema.sql
    24. data-locations: classpath:h2sql/agileboot_data.sq
  • 相关阅读:
    人工智能术语翻译(五)
    AI绘画初体验(6pen平台)
    ls -l 命令列出的total是什么
    springboot+vue+element简单实现教学课程申报管理系统
    Spring 场景下突破 pebble 模板注入限制
    Git 我配置了ssh key,还是报错让我输入密码
    接口流量突增,如果是你,怎样做好性能调优?
    C++ 和 JAVA 位运算符
    Android KR3399 原生系统 wlan0与eth0共存调试
    【Docker-k8s学习和实战】(三)Docker初试:启动第一个docker容器;docker容器的运行、停止、重启以及镜像的删除
  • 原文地址:https://blog.csdn.net/dageliuqing/article/details/127545398
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号