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

news2024/10/4 19:33:57

有小部分大学的小部分老师多毛病,喜欢用些晦涩难搞的数据库来折腾学生,我不理解,但大受震撼。按我的理解,这种数据库看着好像本地快速测试代码很舒服,但依赖和数据库限制的很死板,对不上就是用不了,而且创建过程也麻烦,就算能借用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文件就必须用哪个版本。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vitis HLS 学习笔记--static RAM/ROM

目录 1. 简介 2. static RAM 2.1 无 reset 的情形 2.2 含 reset 的情形 3. static ROM 4. 总结 1. 简介 本文仍然是讨论阵列的初始化与复位问题,区别于《Vitis HLS 学习笔记--global_array_RAM初始化及复位-CSDN博客》,本文讨论的对象是静态阵列&…

微服务第一轮

课程文档 目录 一、业务流程 1、登录 Controller中的接口: Service中的实现impl: Service中的实现impl所继承的接口IService(各种方法): VO: DTO: 2、搜索商品 ​Controller中的接口&a…

期望24K,商汤科技golang开发 社招一二三 + hr 面

商汤科技对数据库和中间件相关的东西问的比其他的大厂要少很多,可能他们更多是和算法相关,没有什么高并发的场景。总体感觉对技术的要求不是特别高。当时问了他们主管,我面试的部门的工作是主要去实现他们算法部门研究的算法,感觉…

CSS函数:fit-content与matrix的使用

网格函数 fit-content()属于网格函数,除此之外的网格函数还有:CSS函数: 实现数据限阈的数字函数。顾名思义,这三个函数只能在网格布局中使用。fit-content()函数主要是用于给定布局可用大小,适应内容,其功…

【微信小程序】页面导航

声明式导航 导航到 tabbar 页 tabBar页面指的是被配置为tabBar的页面。 在使用<navigator>组件跳转到指定的tabBar页面时&#xff0c;需要指定url属性和open-type属性&#xff0c;其中&#xff1a; url 表示要跳转的页面的地址&#xff0c;必须以/开头open-type表示跳…

【Vue】路由介绍

一、引入 思考 单页面应用程序&#xff0c;之所以开发效率高&#xff0c;性能好&#xff0c;用户体验好 最大的原因就是&#xff1a;页面按需更新 比如当点击【发现音乐】和【关注】时&#xff0c;只是更新下面部分内容&#xff0c;对于头部是不更新的 要按需更新&#xff…

企业微信hook接口协议,ipad协议http,内部联系人备注修改

内部联系人备注修改 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid":"1688855749266556","vid":1688856554448765,"remark":"备注啦啦啦22222","des&quo…

Pycharm SSH远程连接时出现报错,测试 SFTP 连接,连接到 ‘connect.westb.seetacloud.com‘ 失败

问题由来 很离谱&#xff01;今天本来打算租借AutoDL的显卡完成一项深度学习的任务&#xff0c;很离谱的是同步文件夹的时候报了标题说的错。 就很莫名奇妙&#xff0c;一天都在网上找解决办法&#xff0c;结果都不对头。 其他报错 最后摸索着&#xff0c;在使用pycharm远程登…

[数据集][目标检测]手枪检测数据集VOC+YOLO格式3000张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3000 标注数量(xml文件个数)&#xff1a;3000 标注数量(txt文件个数)&#xff1a;3000 标注…

数据流通与智能家居的未来

在科技飞速发展的今天&#xff0c;智能家居逐渐融入我们的日常生活&#xff0c;改变了传统的居住方式。智能生态网络&#xff08;IEN&#xff09;作为智能家居的核心&#xff0c;集成了家庭内的各种智能设备和传感器&#xff0c;实现了对家庭环境的智能化管理。而数据要素流通则…

SpringCloud 服务调用 spring-cloud-starter-openfeign

spring-cloud-starter-openfeign 是 Spring Cloud 中的一个组件&#xff0c;用于在微服务架构中声明式地调用其他服务。它基于 Netflix 的 Feign 客户端进行了封装和增强&#xff0c;使其与 Spring Cloud 生态更好地集成。 1. Feign Feign 是一个声明式的 Web Service 客户端…

绿联Nas docker 中 redis 老访问失败的排查

部署了一些服务&#xff0c;老隔3-5 天其他服务就联不上 redis 了&#xff0c;未确定具体原因&#xff0c;只记录观察到的现象 宿主机访问 只有 ipv6 绑定了&#xff0c;ipv4 绑定挂掉了 其他容器访问 也无法访问成功 当重启容器后&#xff1a; 一切又恢复正常。 可能的解…

使用 Django 和 MQTT 构建实时数据传输应用

文章目录 什么是 MQTT&#xff1f;Django 中的 MQTT结论 在现代的 Web 应用程序开发中&#xff0c;实时数据传输变得越来越重要。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;而 Django 是一个流行的 Pyt…

【最新鸿蒙应用开发】——Want信息载体

信息传递载体Want 1、概述 上一章节我们学习了UIAbility组件 【最新鸿蒙应用开发】——一篇搞懂什么是UIAbility-CSDN博客 &#xff0c;其中组件间的交互传递信息的媒介就是Want&#xff0c;本章节我们来更加深入学习Want的相关知识。 Want是一种对象&#xff0c;用于在应用组…

实践记录-docker-step1~5/10-参考docker官网步骤操作记录

参考来源&#xff1a; &#xff08;应用的容器化实践&#xff09;docker官方入门指南 https://docs.docker.com/get-started/ 本指南包含有关如何开始使用 Docker 的分步说明。本指南介绍如何&#xff1a; 将映像作为容器生成并运行。 使用 Docker Hub 共享映像。 使用带有数据…

OpenCv之简单的人脸识别项目(属性判断页面)

人脸识别 准备十二、属性判断页面1.导入所需的包2.设置窗口2.1定义窗口外观和大小2.2设置窗口背景2.2.1设置背景图片2.2.2创建label控件 3.定义预测性别脚本4.定义预测年龄脚本5.定义关闭窗口的函数6.按钮设计6.1预测性别按钮6.2预测年龄按钮6.3返回按钮 7.定义关键函数8.属性判…

python-opencv图像分割

文章目录 二值化图像骨骼连通域分割 二值化 所谓图像分割&#xff0c;就是将图像的目标和背景分离开来&#xff0c;更直观一点&#xff0c;就是把目标涂成白色&#xff0c;背景涂成黑色&#xff0c;言尽于此&#xff0c;是不是恍然大悟&#xff1a;这不就是二值化么&#xff1…

农业四情监测系统

TH-Q1农业&#xff0c;作为支撑国民经济建设与发展的基础产业&#xff0c;其稳定与高效的发展对于国家乃至全球的经济稳定具有举足轻重的意义。然而&#xff0c;农业的发展并非一帆风顺&#xff0c;它面临着诸如气候变化、病虫害、土壤质量等多种因素的挑战。在这一背景下&…

AJAX 跨域

这里写目录标题 同源策略JSONPJSONP 是怎么工作的JSONP 的使用原生JSONP实践CORS 同源策略 同源&#xff1a; 协议、域名、端口号 必须完全相同、 当然网页的URL和AJAX请求的目标资源的URL两者之间的协议、域名、端口号必须完全相同。 AJAX是默认遵循同源策略的&#xff0c;不…

yolov8摔倒检测(包含数据集+训练好的模型)

基于先进的YOLOv8模型&#xff0c;实现了一套高效可靠的人体摔倒检测系统。YOLOv8作为YOLO系列的最新成员&#xff0c;以其卓越的检测速度和准确性&#xff0c;在计算机视觉领域尤其是目标检测任务中表现出色。本系统不仅能够实时处理视频流或监控画面&#xff0c;还能对静态图…