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://www.mzph.cn/news/582382.shtml

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

相关文章

创建和配置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…

最短路径(数据结构实训)(难度系数100)

最短路径 描述&#xff1a; 已知一个城市的交通路线&#xff0c;经常要求从某一点出发到各地方的最短路径。例如有如下交通图&#xff1a; 则从A出发到各点的最短路径分别为&#xff1a; B&#xff1a;0 C&#xff1a;10 D&#xff1a;50 E&#xff1a;30 F&#xff1a;60 输…

“暂存”校验逻辑探讨

1、背景 在业务中可能会遇到这种场景&#xff0c;前端页面元素多且复杂&#xff0c;一次性填完提交耗时很长&#xff0c;中间中断面临着丢失数据的风险。针对这个问题&#xff0c;“暂存”应运而生。 那“暂存”的时候&#xff0c;是否需要对数据校验&#xff0c;如何进行校验…

【全局光照GI系统剖析_Enlighten和Progressive Lightmapper_案例分享(附带场景下载链接)_场景】

烘焙预计算 前文:续_直接和间接光照这一篇小结:Unity烘焙预计算烘焙前的场景设置1.2.Contribute GI如下图:物体的Static和面板上的Contribute GILightmap的UV模型自带Lightmap的UVUnity 自动展Lightmap的UV1.3.Meta PassMeta Pass代码如下:1.4.Light Mode模式

k8s部署 CNI 网络组件与k8s集群搭建(二)

目录 部署 CNI 网络组件 部署 flannel K8S 中 Pod 网络通信 Flannel UDP 模式的工作原理 ETCD 之 Flannel 提供说明 Flannel VXLAN 模式跨主机的工作原理 在 node01 节点上操作 在 master01 节点上操作 部署 Calico k8s 组网方案对比 Calico 主要由三个部分组成 Ca…

go 源码解读 - sync.Mutex

sync.Mutex mutex简介mutex 方法源码标志位获取锁LocklockSlowUnlock怎么 调度 goroutineruntime 方法 mutex简介 mutex 是 一种实现互斥的同步原语。&#xff08;go-version 1.21&#xff09; &#xff08;还涉及到Go运行时的内部机制&#xff09;mutex 方法 Lock() 方法用于…

网盘项目话术(0.5w字精选)

功能结构图 数据库设计总结 该项目主要就是对文件的操作&#xff0c;file表&#xff0c;file_share表。 file表主要字段&#xff1a;id&#xff0c;用户id&#xff0c;父级目录id&#xff0c;文件的地址&#xff0c;文件的封面图片地址&#xff0c;创建和修改时间。 file_sha…

Java命令行最实用的命令

Java 命令行提供了许多重要且实用的命令&#xff0c;以下是其中一些常用的命令&#xff1a; java&#xff1a;用于运行 Java 程序的命令。使用 java 命令后面跟着要执行的 Java 类名。 java MyClassjavac&#xff1a;用于编译 Java 源代码文件的命令。使用 javac 命令后面跟着要…

vue中的事件绑定的过程

Vue中事件的绑定分为两种情况&#xff1a;原生DOM事件和组件事件。 原生DOM事件 是指在模板中使用v-on或指令来给元素绑定的事件&#xff0c;如 <button click"handler">click me</button>这种事件的绑定是通过以下步骤实现的&#xff1a; 模板编译阶…

国际物流公司科普_集装箱种类区分和介绍_箱讯科技

集装箱运输的不断发展&#xff0c;为适应装载不同种类货物的需要&#xff0c;因而出现了不同种类的集装箱。今天和大家一起来总结一下。 按使用材料分类 根据箱子主体部件&#xff08;侧壁、端壁、箱顶等&#xff09;采用什么材料&#xff0c;就叫做什么材料制造的集装箱&…

TPRI-DMP平台介绍

TPRI-DMP平台介绍 TPRI-DMP平台概述 TPRI-DMP为华能集团西安热工院自主产权的工业云PaaS平台&#xff0c;已经过13年的发展和迭代&#xff0c;其具备大规模能源电力行业生产应用软件开发和运行能力。提供TPRI-DMP平台主数据管理、业务系统开发与运行、应用资源管理与运维监控…

【数据结构】C语言实现单链表的基本操作

单链表基本操作的实现 导言一、查找操作1.1 按位查找1.1.1 按位查找的C语言实现1.1.2 按位查找的时间复杂度 1.2 按值查找1.2.1 按值查找的C语言实现1.2.2 按值查找的时间复杂度 二、插入操作2.1 后插操作2.2 前插操作 三、删除操作结语 导言 大家好&#xff0c;很高兴又和大家…

C++ 之LeetCode刷题记录(三)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅&#xff0c;多学多练&#xff0c;尽力而为。 先易后难&#xff0c;先刷简单的。 13、罗马数字转整数 罗马数字包含以下七种字符: I&#xff0c…

vue3中新增的组合式API:ref、reactive、toRefs、computed、watch、provide/inject、$ref

在 Vue3 中&#xff0c;组合式 API 是一种新的编程模式&#xff0c;它允许你更灵活地组织和重用代码。组合式 API 主要包括以下几个部分&#xff1a; ref&#xff1a;用于创建响应式数据。reactive&#xff1a;用于创建一个响应式对象。toRefs&#xff1a;将一个响应式对象转换…

ClickHouse基础知识(二):ClickHouse 安装教程

1. 准备工作 1.1 确定防火墙处于关闭状态 1.2 CentOS 取消打开文件数限制 &#xff08;1&#xff09;在 hadoop101 的 /etc/security/limits.conf 文件的末尾加入以下内容 sudo vim /etc/security/limits.conf&#xff08;2&#xff09;在 hadoop101 的/etc/security/limits.…

面试问题整理若干

一.数据库测试时关注的要点 1.数据库连接测试&#xff1a;确保数据库可以正常连接&#xff0c;并且连接稳定。 2.数据库结构测试&#xff1a;验证数据库的结构设计是否符合需求&#xff0c;包括表、字段、索引等的设计。 3.数据库数据测试&#xff1a;验证数据库中的数据是否…

Rocky9 1.28安装kubernetes

1.环境准备 二进制安装比较复杂&#xff0c;但是也比较稳定&#xff0c;适用于线上环境使用。   本笔记参考自&#xff1a;https://github.com/cby-chen/Kubernetes &#xff0c;针对文中内容&#xff0c;有部分镜像无法拉取等&#xff0c;还有一部分有点小问题&#xff0c;…

SQL小技巧5:数据去重的N种方法,总有一种你想不到!

在平时工作中&#xff0c;使用SQL语句进行数据去重的场景非常多。 今天主要分享几种数据去重的SQL写法。 假如有一张student表&#xff0c;结构如下&#xff1a; create table student( id int, name varchar(50), age int, address varchar(100)); 表中的数据…

【解决方案】智能语音模块,东胜物联远场语音解决方案让控制更简单,应用于智能家居等场景

现在的天气真是冷得不想多动一下&#xff0c;又想打开取暖器&#xff1f;有了它&#xff0c;用声音就能遥控&#xff0c;今天我们就来聊聊智能语音模块。 技术概述 远场语音技术&#xff0c;采用了麦克风阵列、信号处理技术以及先进的语音识别引擎&#xff0c;使得设备能够在距…

C++ DAY2作业

1.课堂struct练习&#xff0c;用class&#xff1b; #include <iostream>using namespace std;class Stu { private:int age;char sex;int high; public:double score;void set_values(int a,char b,int c,double d);int get_age();char get_sex();int get_high(); }; vo…