win+mac通用的SpringBoot+H2数据库集成过程。

有小部分大学的小部分老师多毛病,喜欢用些晦涩难搞的数据库来折腾学生,我不理解,但大受震撼。按我的理解,这种数据库看着好像本地快速测试代码很舒服,但依赖和数据库限制的很死板,对不上就是用不了,而且创建过程也麻烦,就算能借用mysql模型,也没多方便。

可以先看下面这篇了解下,再看我的避坑:

springboot+H2集成的另一个帖子。

一. 搭建数据库

1.下载H2数据库

点击下载

注意解压后进入 ./h2/bin/h2-2.2.224.jar 看到这个文件,win可以在文件浏览器的搜索框中输入cmd

用执行以下命令,mac则cd到该文件夹执行以下命令,这需要java环境的。注意这时候mac启动好了会直接跳到这个页面,win要手动打开(localhost:8082/login.jsp)

java -jar h2-2.2.224.jar

2.如何进入控制台

注意:最开始数据库没有东西,默认Generic H2 (Embedded),你在url最后写好一个你想写的数据库名后,点击链接会自动创建一个的,但用户名密码你要记住(密码不写也没事)。

3.初始化页面内容。

这里一开始没有你要的表数据,默认的两个表内容不要改,把自己的数据库sql内容放进文本框中,执行完得到 3中的内容。

3.执行数据库并新建表内容。

4.获取数据库db文件。

搞定以上那些,会生成一份数据库文本,格式为:xxx.mv.db。每次新建都会生成一份的。

win可以在数据库安装的地方找,一开始就可以设置路径。

mac到/Users/yourName/xxmall.mv.db可以找到。

---------------------------------------------------------------------------------------------------------

为什么说这么多呢,因为这份(xxmall.mv.db)文件就是用来给项目链接数据库运行的。

二.在idea运行springboot+H2项目。

以我的项目为例,idea中,找个路径放好你的db文件,比如我这样

1.配置文件。

yml还是properties(我是这个)都行配置的重点如下:

#H2  ;MODE= XX h2数据库配置
#spring.datasource.url=jdbc:h2:file:./h2db/xxmall  
# url后用 jdbc:h2:mem:xxmall 这个也可以,但注意,这里是没有数据的,
# 你需要写一份insert脚本先去跑sql,这也是我把(xxmall.mv.db)拆出来的原因。
spring.datasource.url=jdbc:h2:file:./h2db/xxmall;MODE=MySQL
# mode不能漏泄,你可以根据需要写哪个数据库特性
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.h2.console.settings.web-allow-others=true
spring.h2.console.path=/h2-console

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false

##################### jpa hibernate 配置 #########################
spring.jpa.show-sql=false
spring.jpa.database=h2
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update

2.注意点:

jdbc:h2:file:./h2db/xxmall;MODE=MySQL

/h2db/ 是本项目内的文件夹位置,xxmall是数据库名字,不要带上.mv.db,后面是特性借用mysql。

注意你用的就是H2数据库,不要怀疑,下面的账号密码写你填上去的。

2.还有实体类一定要写清楚@Column(name = "count") name=里面对应的数据库字段,H2对大小写,驼峰都敏感(我用JPA的原因吗?),必须每个都写好写对,还有,绝对不可以带反单引号 `,sql也不要。

最后就是依赖,你下载的H2是哪个版本,那么pom文件就必须用哪个版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/672317.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

对HTTP和HTTPS的介绍

HTTP HTTP 是什么? HTTP (全称为 “超⽂本传输协议”) 是⼀种应⽤⾮常⼴泛的 应用层协议. 所谓 “超⽂本” 的含义, 就是传输的内容不仅仅是⽂本(⽐如 html, css 这个就是⽂本), 还可以是⼀些其他的资源, ⽐如图⽚, 视频, ⾳频等⼆进制的数据 HTTP 往往是基于传输层…

JavaScript数组应用

检测数据类型 1.typeof()可以检测基本数据类型,但是在检测null时会返回object。另外它不能检测负责的数据类型,如正则表达式对象 2.constructor可以检测绝大部分数据的类型,但是不能检测null和underfined的数据类型 3.toString()方法&#x…

C++的List

List的使用 构造 与vector的区别 与vector的区别在于不支持 [ ] 由于链表的物理结构不连续,所以只能用迭代器访问 vector可以排序,list不能排序(因为快排的底层需要随机迭代器,而链表是双向迭代器) (算法库里的排序不支持)(需要单独的排序) list存在vector不支持的功能 链…

国产操作系统上Vim的详解01--vim基础篇 _ 统信 _ 麒麟 _ 中科方德

原文链接:国产操作系统上Vim的详解01–vim基础篇 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vim的详解文章。Vim是一款功能强大且高度可定制的文本编辑器,广泛应用于编程和日常文本编辑中。…

SELF-RAG: Learning to Retrieve, Generate, and Critique Through Self-reflection

更多文章,请关注微信公众号:NLP分享汇 原文链接:ICLR2024:能够自我反思的SELF-RAG 下面介绍的这篇论文是最近被ICLR 2024 accepted oral,作者来自University of Washington & Allen Institute for AI & IBM R…

Z字形变换 ---- 模拟

题目链接 题目: 分析: 题意如图所示:如果我们按照题意, 真的实现一个矩阵, 这样做的时间和空间复杂度很高, 所以我们可以试试看找规律, 优化一下我们观察他们的下标: 如果找到下标的规律, 那么我们就不用创建矩阵, 就能找到最终结果的下一个字符是什么特殊情况, 当numRows 1…

C++17之std::void_t

目录 1.std::void_t 的原理 2.std::void_t 的应用 2.1.判断成员存在性 2.1.1.判断嵌套类型定义 2.1.2 判断成员是否存在 2.2 判断表达式是否合法 2.2.1 判断是否支持前置运算符 2.2.3 判断两个类型是否可做加法运算 3.std::void_t 与 std::enable_if 1.std::void_t 的…

算法-堆结构和堆排序

文章目录 本节大纲1. 堆结构2. 堆排序本节的代码实现合集 本节大纲 1. 堆结构 堆结构是为集合类里面的优先级队列来服务的 优先级队列其实就是顺序存储的二叉树结构, 我们的底层的源码里面是没有链式存储的二叉树的,二叉树的实现的细节是通过我们的数组来模拟实现的 底层的实现…

【计算机毕设】基于SpringBoot的教学资源库设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本项目旨在设计并实现一个基于SpringBoot的教学资源库系统,以便教师和学生能够方便地存储、分享和查找各种教学资源。具体目标包括&…

分治策略的实现

目录 前言 分治策略的应用 最大子数组问题 矩阵乘法问题 求解递归式的三种方法 代入法求递归式 用递归树求递归式 主方法求递归式 前言 分治三个步骤: 分解:分解原问题为子问题,这些子问题为原问题的较小规模的问题。 解决&#xf…

Redis——基本命令

概念: Redis(REmote Dlctionary Server) 是用 C语言开发的一个开源的高性能键值对(key-value) 数据库 特征: 1. 数据间没有必然的关联关系 2. 内部采用单线程机制进行工作 3. 高性能 4. 多数据类型支持 字符串类型 string 列表类型 …

新 Google 邮箱注册的美区Appleid 账户被停用如何解冻?

什么条件触发美区账号被停用? 如何触发的被停用,我猜是因为新账户没有进行安全认证,在新机器手机上登陆,下载app导致的。 如何解冻美区 Appleid 账户? 打苹果服务支持电话:4006668800 苹果员工会非常耐心…

ios 新安装app收不到fcm推送

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

Charles的安装和web端抓包配置

1.Charles的安装 通过官网下载:https://www.charlesproxy.com/download/,我之前下载的是4.6.2版本,下载成功后点击安装包,点击下一步下一步即可安装成功。 ​​ ​ 安装成功后打开charles页面如下所示。 ​ 2.乱码问题解决 打开…

【Docker学习】docker pull详细说明

docker pull是我们经常用到的一个命令。我们使用一些官方镜像,如MySql、Nginx等都需要用docker pull下载。不过不用的话,也可以。比如使用docker run,要是找不到镜像,会自动下载。 命令: docker image pull 描述&am…

插入排序以及希尔排序; 先学会插入,希尔会更简单喔

1.前言 首先肯定是要学会插入排序再学习希尔排序会更简单,因为代码部分有很多相似之处;如果你觉得你很强,可以直接看希尔排序的讲解。哈哈哈!,每天进步一点点,和昨天的自己比 2.插入排序 让我们先来看看…

【Hive SQL 每日一题】统计每月用户购买商品的种类分布

文章目录 测试数据需求说明需求实现 测试数据 -- 创建 orders 表 DROP TABLE IF EXISTS orders; CREATE TABLE orders (order_id INT,user_id INT,product_id INT,order_date STRING );-- 插入 orders 数据 INSERT INTO orders VALUES (101, 1, 1001, 2023-01-01), (102, 1, 1…

pycharm简易使用码云gitee

文章目录 参考文献官网地址安装插件第一个选项报错了不可,第二个选项,可以了新库上传到主分支,push改进实验新建分支,上传为新分支:做另一种改进,选择回退主分支,另建一个分支 使用对于一个新项…

SQL158 每类视频近一个月的转发量/率

描述 用户-视频互动表tb_user_video_log iduidvideo_idstart_timeend_timeif_followif_likeif_retweetcomment_id110120012021-10-01 10:00:002021-10-01 10:00:20011NULL210220012021-10-01 10:00:002021-10-01 10:00:15001NULL310320012021-10-01 11:00:502021-10-01 11:01…

Python 基于机器学习模型的车牌检测和识别系统 有GUI界面 【含Python源码 MX_004期】

一、系统介绍 车牌的检测和识别技术在现代社会中的应用场景可谓十分广泛,不仅涉及交通管理领域,还延伸至社区安保等多个方面。例如,在交通违章管理中,通过车牌追踪可以有效追踪违章车辆,维护交通秩序;在小区…