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
  1. Server 配置:

    server: port: 8080

    这部分配置指定了应用程序的服务器配置,该应用程序将在本地监听8080端口。

  2. 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,包括数据库类型、主机名、端口号和数据库名称。
    • usernamepassword: 数据库连接的用户名和密码。
  3. 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查看运行结果

前后端交互成功截图:

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

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

相关文章

文章智能改写伪原创方法技巧

哈喽&#xff0c;小伙伴们&#xff0c;大家好&#xff0c;我 又回来了。 今天给大家分享一个文章智能改写原创的方法&#xff0c;现在的自媒体平台&#xff0c;做视频流量挺不好做的&#xff0c;除非你有好的方法&#xff0c;文章呢&#xff0c;就相对比较容易点了&#xff0c;…

Graph Transformer2023最新研究成果汇总,附15篇必看论文

图Transformer是一种结合了Transformer模型和图神经网络&#xff08;GNN&#xff09;的框架&#xff0c;用于在图形结构数据上执行预测任务。在图Transformer中&#xff0c;Transformer的自注意力机制被用来学习节点之间的关系&#xff0c;而GNN则被用来生成节点的嵌入表示。通…

Qt学习:Qt的意义安装Qt

Qt 的简介 QT 是一个跨平台的 C图形用户界面应用程序框架。它为程序开发者提供图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正地组件编程。 支持平台 xP 、 Vista、Win7、win8、win2008、win10Windows . Unix/Linux: Ubuntu 等…

一、C++简介

C语言的发展史 1983年&#xff0c;贝尔实验室&#xff08;Bell Labs&#xff09;的Bjarne Stroustrup发明了C。 C在C语言的基础上进行了扩充和完善&#xff0c;是一种面向对象程序设计&#xff08;OOP&#xff09;语言。 Stroustrup说&#xff1a;“这个名字象征着源自于C语言变…

离线AI聊天清华大模型(ChatGLM3)本地搭建

在特定的情况下&#xff0c;要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能&#xff0c;那么&#xff0c;离线部署就能帮助到你&#xff0c;最起码&#xff0c;它是一个真正可用的方案。 大模型本身清华的 (ChatGLM3)&#xff0c;为的是对中文支持友好&#xff0c…

爬虫基础一(持续更新)

爬虫概念&#xff1a; 通过编写程序&#xff0c;模拟浏览器上网&#xff0c;然后让其去互联网上抓取数据的过程 分类&#xff1a; 1&#xff0c;通用爬虫&#xff1a;抓取一整张页面数据 2&#xff0c;聚焦爬虫&#xff1a;抓取页面中的局部内容 3&#xff0c;增量式爬虫&…

NFC刷卡soc芯片SI3262集成刷卡+触摸+ACD超低功耗一体

简介 13.56mhz刷卡soc芯片SI3262集成刷卡触摸ACD超低功耗&#xff0c;ACD模式刷卡距离可达到5cm以上&#xff0c;非常适用于小体积门锁&#xff0c;密码锁&#xff0c;柜锁&#xff0c;接下来介绍一下这款芯片的具体功能。 优势 1.超低功耗&#xff0c;最低功耗达 1.7uA&…

【网络安全 | Misc】世安杯 适合作为桌面(Stegsolve及Winhex的使用)

正文 解压后得到图片&#xff1a; 图片属性正常&#xff0c;无特殊点&#xff0c;经测试&#xff0c;无隐写文件&#xff1a; Stegsolve 运行方法&#xff1a; 可以看到出现二维码&#xff1a; 对其解密得到&#xff1a; 03F30D0A79CB05586300000000000000000100000040000000…

【起草】【第六章】ChatGPT 在软件测试的应用场景

6.1 、引言 & 背景 在测试领域&#xff0c;AIGC 的爆发引发了对其在软件测试中的应用可能性的广泛研究和探讨。传统的软件测试方法往往需要大量的人力和时间投入&#xff0c;而 AIGC 技术的引入可能为测试领域带来革命性的变化。AIGC 在测试中的优势在于其高效的自动化能力…

R语言学习笔记-R包的安装

推荐在线安装&#xff0c;可以解决包与包之间的依赖关系。 1.首先在RGui&#xff1a; 2.在RStudio 的console下&#xff1a; 如安装ggplot2包&#xff0c;则&#xff1a; install.packages("ggplot2") 生信方面&#xff1a; 首先安装&#xff1a; install.packa…

HDFS客户端UnknownHostException事故解析

文章目录 前言事故现场问题分析是否是整个域名解析服务当时都出问题了是否是出问题的pods本身的域名解析有问题 异常发生的全部过程域名的解析是什么时候发生的&#xff0c;怎么发生的域名解析的详细流程 重试发生在什么地方为什么重试会无效 Bugfix代码详解关于StandardHostRe…

jenkins解决工具找不到的问题

--------------------------插件选择版本最好能跟服务器对上

腾讯云服务器怎么买划算?最新优惠价格表

2023腾讯云轻量应用服务器优惠价格表&#xff0c;12月最新报价&#xff0c;腾讯云轻量2核2G3M带宽62元一年、2核2G4M轻量服务器118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;756元三年、4核8G12M轻量服务器646元15个月&#xff0c;CVM云服务器S5实例2核2G…

C语言实验2:循环结构程序设计和数组

目录 一、实验要求 二、实验内容 实验一&#xff1a;循环结构程序设计 1.1 代码 截图 分析 1.2 代码 截图 分析 1.3 代码 截图 分析 实验二&#xff1a;数组 2.1 代码 截图 分析 2.2 代码 截图 分析 2.3 代码 截图 分析 实验三&#xff1a;循环结…

产品管理-学习笔记-版本的划分

版本号说明【X.Y.Z_修饰词】 版本号定义原则X表示大版本号&#xff0c;一般当产品出现重大更新、调整、不再向后兼容的情况时我们会在X上加1Y表示功能更新&#xff0c;在产品原有的基础上增加、修改部分功能&#xff0c;且并不影响产品的整体流程或业务Z表示小修改&#xff0c…

小米SU7汽车发布会; 齐碳科技C+轮融资;网易 1 月 3 日发布子曰教育大模型;百度文心一言用户数已突破 1 亿

投融资 • 3200 家 VC 投资的创业公司破产&#xff0c;那个投 PLG 的 VC 宣布暂停投资了• 云天励飞参与 AI 技术与解决方案提供商智慧互通 Pre-IPO 轮融资• 百度投资 AIGC 公司必优科技• MicroLED量测公司点莘技术获数千万级融资• 智慧互通获AI上市公司云天励飞Pre-IPO轮战…

Buck电源设计常见的一些问题(五)MOS管振荡抑制方法(三)

MOS管振荡抑制方法(三)Rboot的选取 1.Rboot的选取2.总结1.Rboot的选取 同步 Buck 变换器一般采用自举电路供电,如图所示。开关节点上升沿的振荡与上管开通关系密切,上管开通时的驱动电流路径如图所示。因此,可以通过增大 Rboot来减缓上管开通的速度,从而抑制开关节点的振…

创建和配置Spring MVC框架构建Web应用

1 认识Spring MVC Spring Web MVC是构建在Servlet API之上的Web框架&#xff0c;自诞生之时就被纳入了Spring框架中。其正式/官方名称为“Spring Web MVC”&#xff0c;源自其所属的模块&#xff08;spring-webmvc&#xff09;&#xff0c;但通常被称为“Spring MVC”。 1.1…

Zblog主题模板:ZblogitseanPage博客主题模板

zblog主题模板&#xff1a;ZblogitseanPage博客主题模板 ZblogitseanPage博客主题模板主要是以文字内容为主导&#xff0c;将页面的设计杂乱的图片和元素进行最小化或者去除&#xff0c;从而使整个页面更加简洁、清晰&#xff0c;突出信息的呈现。 下面介绍一下zblog主题模板:Z…

MobaXterm自定义关键字高亮(解决绿色不亮问题)

作用 终端中的一些关键字高亮可以提高我们的效率&#xff0c;本文是解决在部分关键字没有高亮的情况下&#xff0c;添加自定义关键字使其高亮 教程 打开设置 基于已有模式进行拓展 在已有Session中选择自定义的规则&#xff0c;重启MobaXterm即可 解决绿色不亮问题 由…