idea Spring Boot项目使用JPA创建与数据库链接
1.pom.xml文件中添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency>
2.创建entity文件,用于创建用户类(User)

3.entity文件夹下创建用户类

User代码如下:
package com.example.demo.entity;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;@Entity
@Table(name = "tb_user")
public class User {@Id@Column(name = "f_id")private Integer id;@Column(name = "f_username", unique = true, nullable = false, length = 16)private String username;@Column(name = "f_password", length = 32, nullable = false)private String password;@Column(name = "f_name", length = 64)private String name;@Column(name = "f_age")private Integer age;@Column(name = "f_phone", length = 11)private String phone;}
4.resources文件夹下创建application.yml文件

配置数据库连接信息 (一定要保证username、password与自己所使用数据库信息一致)
application.yml文件下代码:
sever:port: 8080
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/db_qfnu_test1username: rootpassword: 123456jpa:hibernate:ddl-auto: updateshow-sql: true
-
Server 配置:
server: port: 8080这部分配置指定了应用程序的服务器配置,该应用程序将在本地监听8080端口。
-
Spring 数据源配置:
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/db_qfnu_test username: root password: 123456这一部分配置了Spring框架中的数据源,用于连接数据库。
driver-class-name: 指定数据库驱动类,这里是MySQL的JDBC驱动。url: 数据库连接的URL,包括数据库类型、主机名、端口号和数据库名称。username和password: 数据库连接的用户名和密码。
-
Spring JPA 配置:
spring: jpa: hibernate: ddl-auto: update show-sql: true这一部分配置了Spring Data JPA,用于简化数据访问层的开发。
hibernate.ddl-auto: 指定Hibernate在启动时如何更新数据库表结构。在这里,设置为update表示 Hibernate 将尝试更新数据库表结构,但不会删除表或数据。show-sql: 将此属性设置为true将在控制台上打印出Hibernate执行的SQL语句,方便调试。
5.创建数据库
创建数据库代码:
进入数据库:mysql -u root -p
查看数据库:show databases;
创建新表: create database db_qfnu_test1;

6.运行代码

运行出成功截图:
7.实现对数据库与前端交互
在User类中创建方法
package com.example.demo.entity;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;@Entity
@Table(name = "tb_user")
public class User {@Id@Column(name = "f_id")private Integer id;@Column(name = "f_username", unique = true, nullable = false, length = 16)private String username;@Column(name = "f_password", length = 32, nullable = false)private String password;@Column(name = "f_name", length = 64)private String name;@Column(name = "f_age")private Integer age;@Column(name = "f_phone", length = 11)private String phone;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}public void setPhone(String phone) {this.phone = phone;}
}
创建Dao文件夹,用于创建User接口

Dao文件夹下创建UserDAO接口,选择Interface
UserDAO代码:
package com.example.demo.Dao;import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;public interface UserDAO extends JpaRepository<User, Integer> {
}

创建UserController文件

UserController文件中编写Mapping,代码:
package com.example.demo.controller;import com.example.demo.Dao.UserDAO;
import com.example.demo.Dao.UserDAO;
import com.example.demo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.Optional;@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate final UserDAO userDao;public UserController(UserDAO userDao){this.userDao = userDao;}@GetMapping("findById/{id}")public User findById(@PathVariable Integer id){Optional<User> userOptional = userDao.findById(id);return userOptional.orElse(null); get or else}@PostMapping("add")public void add(User user){userDao.save(user);}@PostMapping("save")public String save(@RequestBody User user){userDao.save(user);return "success";}@PostMapping("removeById/{id}")public String removeById(@PathVariable Integer id){userDao.deleteById(id);return "success";}
}
数据库中添加表项:

运行代码,导航栏中输入:http://localhost:8080/user/findById/1查看运行结果
前后端交互成功截图:

相关文章:
idea Spring Boot项目使用JPA创建与数据库链接
1.pom.xml文件中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>…...
redis基础知识
学一点,整一点,基本都是综合别人的,弄成我能理解的内容 https://blog.csdn.net/liqingtx/article/details/60330555 https://blog.csdn.net/u014723137/article/details/125658176 https://redis.io/commands/ 官方命令 📌导航小助…...
最短路径(数据结构实训)(难度系数100)
最短路径 描述: 已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图: 则从A出发到各点的最短路径分别为: B:0 C:10 D:50 E:30 F:60 输…...
基于SSM实现的电动汽车充电网点管理系统
一、系统架构 前端:jsp | jquery | bootstrap | css 后端:spring | springmvc | jdbc 环境:jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. web端-首页 02. web端-登录 03. web端-注册 04. web端-我要充电 05. web端-个人中心-消…...
Android ImageView如何使用.svg格式图片
我们知道imageview常用的图片格式是.jpg/.png或者drawable里的部分.xml文件。但有时UI会给过来.svg格式的文件,下面讲解如何使用.svg格式图片文件 step1:AS点击File -> New -> Vector Asset step2:选中要使用的.svg文件,按需要命名和调整&#x…...
力扣热题100道-子串篇
字串 560.和为K的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入&a…...
day3--Shell
1.shell语法 概论 概论 shell是我们通过命令行与操作系统沟通的语言。shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。 AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。Linux中常见的shell脚本有很多种&…...
【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序
前言:生活中我们总是会碰到各种各样的排序,今天我们就对部分常用的排序进行总结和学习,今天的内容还是相对比较简单的一部分,各位一起加油哦! 💖 博主CSDN主页:卫卫卫的个人主页 💞 ὄ…...
TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性
互联网时代,数据的迅猛增长给数据库带来了可扩展性的挑战,Gen AI 带来的数据暴增更加剧了这种挑战。传统的数据分片已经不能承载新时代数据暴增的需求,更简单且具有前瞻性的方法则是采用原生分布式数据库来解决扩展性问题。在这种规模化场景的…...
服务器数据恢复-误操作导致xfs分区数据丢失的数据恢复案例
服务器数据恢复环境: 某品牌OceanStorT系列某型号存储MD1200磁盘柜,组建的raid5磁盘阵列。上层分配了1个lun,安装的linux操作系统,划分两个分区,分区一通过lvm进行扩容,分区二格式化为xfs文件系统。 服务器…...
安装Kubernetes1.23、kubesphere3.4、若依项目自动打包部署到K8S记录
1.安装kubernetes1.23详细教程 kubernetes(k8s)集群超级详细超全安装部署手册 - 知乎 2.安装rancher动态存储 kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml3.安装kubesphere3.4 准备工作 您…...
(三) `MaterializedMySQL`同步机制解读
当使用 ClickHouse 的 MaterializedMySQL 引擎进行全量同步时,它主要依赖于两个关键机制:初始全量数据导入和随后的增量更新。以下是这些机制的详细解释: 初始全量数据导入 读取现有数据: 当您在 ClickHouse 中创建一个 MaterializedMySQL 类…...
使用 stream 流构建树(不使用递归)
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 文章目录 前言代码实现定义测试实体类实现方法 前言 最近遇到一个地区数据需要转换成树的需求,研究了一种…...
docker 部署 个人网页版 wps office
先声明一下,这个是用的linux桌面,然后安装了一个wps软件 安装好之后,通过我们自己的浏览器进行操作。。。。。 我只是试了一下,目前发现只能一个人用,里面还有谷歌浏览器,就是一个远程linux桌面 docker …...
windows进行udp端口转发,解决项目中服务器收不到组播数据的问题
说明 windows7的netsh interface portproxy命令只支持tcp端口转发 如果要进行udp端口转发可以使用sokit 运行sokit 端口转发(以为tcp作为讲解,udp类似) 选择转发器 输入监听地址(SRC地址)和端口 输入转发地址&am…...
抖音、小红书、视频号是如何判定是否限流的?
在这个新媒体营销的时代,抖音、小红书和视频号作为中国最受欢迎的社交媒体平台,为品牌和内容创作者提供了极具潜力的展示空间。然而,无论在哪个平台,限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池,同…...
frida native hook 技术( frida hook so层函数)
什么是hook: hook,中文译作”钩子“,”挂钩“,看起来好像和钓鱼有点关系,其实它更像一张网。想象这样一个场景:我们在河流上筑坝,只留一个狭窄的通道让水流通过,在这个通道上设一张网…...
SpringBoot运维(三)-- 多环境开发(yml多文件版)
目录 引言: 1. 多环境开发的配置 2. 多环境开发--根据功能拆分配置文件 引言: 多环境? 其实就是说你的电脑上写的程序最终要放到别人的服务器上去运行。每个计算机环境不一样...
Vue 修饰符有哪些
事件修饰符 .stop 阻止事件继续传播.prevent 阻止标签默认行为.capture 使用事件捕获模式, 即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理.self 只当在 event.target 是当前元素自身时触发处理函数.once 事件将只会触发一次.passive 告诉浏览器你不…...
哈希桶的模拟实现【C++】
文章目录 哈希冲突解决闭散列 (开放定址法)开散列 (链地址法、哈希桶)开散列实现(哈希桶)哈希表的结构InsertFindErase 哈希冲突解决 闭散列 (开放定址法) 发生哈希冲突时…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
