SpringBoot不用写Controller、不用写Service、不用建表,直接起飞是什么感觉

Spring Data REST 提供了一种简单的方式来暴露 JPA 实体为 RESTful 服务,这使得构建基于 REST 的数据服务变得非常快速和高效。下面是一个使用 Spring Data REST 构建通用架构的基本示例:
在这里插入图片描述

首先,我们需要创建一个实体类(例如,User),并使用 JPA 注解来定义其属性和关系。

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;@Entity
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;private String email;// Getters and Setterspublic Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}
}

当然也可以使用lombok优化get和set方法

接下来,创建一个扩展 JpaRepository 的接口。这将为我们提供所有基本的 CRUD 操作。

import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepository<User, Long> {
}

然后,在你的 Spring Boot 应用程序中添加 Spring Data REST 的依赖。在 pom.xml 文件中添加以下依赖:

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

最后,创建你的 Spring Boot 应用程序启动类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurerAdapter;@SpringBootApplication
@EnableRestRepositories
public class Application extends RepositoryRestConfigurerAdapter {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

现在,当你运行你的 Spring Boot 应用时,Spring Data REST 将自动生成 REST API 端点来处理 User 实体的 CRUD 操作。你可以通过访问 /users 或者具体的 /users/{id} 来获取、创建、更新或删除用户。
在这里插入图片描述
可以看到,在应用启动时,会自动帮我们生成之前没有的user表:
在这里插入图片描述
接下来测试一下增删改查接口:
1、新增:
在这里插入图片描述

2、查询单条:
在这里插入图片描述

3、修改:
在这里插入图片描述

4、查询分页:
在这里插入图片描述

5、删除:
在这里插入图片描述

这只是一个基本示例,Spring Data REST 还提供了许多高级功能,如分页、排序、过滤等,以及对关联实体的支持。你可以根据需要进一步配置和扩展这些功能。

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

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

相关文章

若依对数据二次处理导致查询total只有十条的问题处理办法

前言&#xff1a; 在使用若依框架的过程中&#xff0c;如果是查询结果数据直接返回&#xff0c;那么其自带的分页插件可以正常返回数据以及总条数&#xff0c;若是在业务逻辑层对数据进行了其他二次处理&#xff0c;再返回就会出现异常&#xff0c;无论查询了多少条&#xff0…

python迁移数据教程

迁移数据是指将数据从一台计算机或系统转移到另一台计算机或系统。在本文中&#xff0c;我将向您展示如何使用Python迁移数据。我们将使用Python编写一个简单的脚本&#xff0c;将一个文件夹中的数据迁移到另一个文件夹。 以下是迁移数据的步骤&#xff1a; 1. 安装所需的库&a…

树莓派4B学习笔记7:(Python)_TTL串口收发数据_

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; 今日尝试使用树莓派的TTL串口进行收发数据&#xff1a; …

mysql替换部分内容

UPDATE 表名 SET 字段名 REPLACE(字段名, ‘原内容’, 新内容)

中电联系列四:rocket手把手教你理解中电联协议!

分享《慧哥的充电桩开源SAAS系统&#xff0c;支持汽车充电桩、二轮自行车充电桩。》 电动汽车充换电服务信息交换 第4部分&#xff1a;数据传输与安全 Interactive of charging and battery swap service information for electric vehicle Part 4:Data transmission and secu…

【GreenHills】GHS-Point导致的调试HardFault错误

【更多软件使用问题请点击亿道电子官方网站】 1、 文档背景 该客户使用的IDE为S32 Design Studio for ARM &#xff0c;使用的编译器为GHS compiler&#xff0c;调试器为PE。 客户在使用Ceil函数进行函数调用时&#xff0c;编译可以正常通过&#xff0c;但调试无法成功运行。…

SQL中distinct去重关键字的使用和count统计组合的使用

文章目录 SQL中distinct的使用1、distinct作用于单列2、distinct作用于多列3、 count()、distinct组合使用conut扩展知识 SQL中distinct的使用 1、distinct作用于单列 语法&#xff1a; select distinct 列名 from 表&#xff1b; distinct必须在列的前面&#xff0c;否则直…

JavaScript变成anyScript了

any类型 目录 any类型 目录污染问题 首先说明一下&#xff0c;本人是前端小学生级别的菜鸡&#xff0c;吐槽的话请口下留情&#xff0c;在评论区指出错误或者补充不足&#xff0c;我会很喜欢&#xff0c;互喷不会进步&#xff0c;相互指点才会。。。。谢谢大家啦 &#x1f…

基于MATLAB仿真的BCC卷积码维特比译码算法

&#x1f9d1;&#x1f3fb;个人简介&#xff1a;具有3年工作经验&#xff0c;擅长通信算法的MATLAB仿真和FPGA实现。代码事宜&#xff0c;私信博主&#xff0c;程序定制、设计指导。 &#x1f680;基于MATLAB仿真的BCC卷积码维特比译码算法 目录 &#x1f680;1.BCC卷积码概…

Java的核心类库

引言 在Java编程中&#xff0c;熟练掌握常用类与对象操作是开发的基础。Java的核心类库提供了丰富的功能&#xff0c;可以帮助开发者高效地处理各种编程任务。本文将详细介绍Java字符串操作、集合框架、日期与时间处理等内容&#xff0c;并通过图表和表格进行总结与示范。 字符…

Tailwind CSS 实战指南:快速构建响应式网页设计

title: Tailwind CSS 实战指南&#xff1a;快速构建响应式网页设计 date: 2024/6/12 updated: 2024/6/12 author: cmdragon excerpt: 这篇文章介绍了Tailwind CSS框架的特点与优势&#xff0c;包括其作为实用性的CSS框架如何通过预设的样式类实现快速布局和设计&#xff0c;…

每日一题——Python实现PAT乙级1109 擅长C(举一反三+思想解读+逐步优化)七千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试 代码分析 时间复杂度 空间复杂度 总结 我要更强 代码结构与功能 全局…

springboot+shiro+jwt 兼容session和token

最近和别的软件集成项目&#xff0c;需要提供给别人接口来进行数据传输&#xff0c;发现给他token后并不能访问我的接口&#xff0c;拿postman试了下还真是不行。检查代码发现项目的shiro配置是通过session会话来校验信息的 &#xff0c;我之前一直是前后端自己写&#xff0c;用…

北京知名机床编程入门培训:探索技术的奥秘与突破

北京知名机床编程入门培训&#xff1a;探索技术的奥秘与突破 在北京这座科技与创新交织的城市中&#xff0c;机床编程作为现代制造业的核心技术&#xff0c;吸引了众多求学者的目光。而想要真正掌握这门技术&#xff0c;选择一家知名的机床编程入门培训机构显得尤为关键。本文…

学习Pr有哪些常见的使用的技巧?

本Premiere 学习笔记总结常见问题165条。不管你是初学的小白&#xff0c;或是刚进入剪辑学习软件阶段&#xff0c;还是说你学软件好几年了都有用处。因为这份总结涉及到了Pr的各个方面。既可以帮你解决软件出现的问题&#xff0c;也可以帮你熟知软件的实际应用&#xff0c;以及…

【江湖】离职经验之人在江湖

人在职场江湖 分享外面看不到的职场经验、人情世故和社会潜规则 一、老实人别再吃亏了&#xff01;这些离职原因HR听了都闭嘴&#xff1a; 1、不说&#xff1a;活多钱少 要说&#xff1a;跟不上节奏 2、不说&#xff1a;公司哪里不好 要说&#xff1a;十分感谢公司对我的栽…

C# WPF入门学习番外篇(二) —— C# WPF使用数据库创建注册登录界面

C# WPF入门学习番外篇&#xff08;二&#xff09; —— C# WPF使用数据库创建注册登录界面 在这篇番外篇博客中&#xff0c;我们将介绍如何在C# WPF应用程序中使用数据库来创建一个简单的注册和登录界面。通过本教程&#xff0c;你将学习到如何在WPF中与数据库进行交互&#xf…

网格细分技术在AI绘画中的革新应用

导语&#xff1a; 随着人工智能技术的不断突破&#xff0c;艺术创作也迈入了一个新的时代。AI绘画不仅为艺术家提供了新的工具和灵感源泉&#xff0c;还极大地扩展了艺术的边界。在这背后&#xff0c;网格细分技术扮演着至关重要的角色&#xff0c;它通过将画面划分为数以万计的…

Android低代码开发 - 直接创建一个下拉刷新列表界面

看了我Android低代码开发 - 让IDE帮你写代码这篇文章的小伙伴&#xff0c;大概都对Dora全家桶开发框架有基本的认识了吧。本篇文章将会讲解如何使用dora-studio-plugin快捷创建一个下拉刷新列表界面。 效果演示 这样直接通过图形界面的方式就创建好了下拉刷新上拉加载空态界面…

旅游行业电商平台:数字化转型的引擎与未来发展趋势

引言 旅游行业数字化转型的背景和重要性 随着信息技术的飞速发展&#xff0c;数字化转型成为各行业发展的必然趋势。旅游行业&#xff0c;作为一个高度依赖信息和服务的领域&#xff0c;数字化转型尤为重要。通过数字化手段&#xff0c;旅游行业能够实现资源的高效配置、服务的…