Spring Data JpaRepository数据库增、删、改、查接口快速实现

1. Controller(EventController.java)
@RestController
@RequestMapping("/Event")
public class EventController {// 案件信息@AutowiredEventRepository eventRepository;// 添加、编辑@PostMapping("/addEvent")public ResponseObject addEvent(@RequestBody Event event) {eventRepository.save(event);return ResponseObject.ok("添加成功");}// 删除@PostMapping("/delEvent")public ResponseObject delEvent(@RequestBody Map<String,String> Map) {eventRepository.deleteById(Map.get("id"));return ResponseObject.ok("删除成功");}// 通过id查询@PostMapping("/getEventById")public ResponseObject getEventById(@RequestBody Map<String,String> Map) {if (Map.get("id") == null || Map.get("id") == "") {return ResponseObject.error("id为空!");}Optional<Event> event = eventRepository.findById(Map.get("id"));return new ResponseObject(200, "查询成功!", event);}// 查询全部@PostMapping("/getEventList")public ResponseObject getEventList(@RequestBody Map<String,String> Map) {Page<Event> pagePage = eventRepository.findAll(PageRequest.of(Integer.parseInt(Map.get("page")) - 1, Integer.parseInt(Map.get("limit"))));List<Event> list = pagePage.getContent();Map<String, Object> map = new HashMap<>();map.put("total", list.size());map.put("rows", list);return new ResponseObject(200, "查询成功", map);}
}

条件查询

// 查询条件
Specification<Event> specification = (root, query, builder) ->query.where(builder.equal(root.get("id"), item.getId())).getRestriction();// 查询
List<Event> list = eventRepository.findAll(specification);
2. 实体类(Event.java)

这里使用了lombok插件,自动省略了get、set方法。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>
@Data
@Entity
@Table(name = "database")
public class Event {@Idprivate String id;// 联系电话private String tel;// 姓名private String name;}
3. Repository(EventRepository.java)
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
public interface EventRepository extends JpaSpecificationExecutor<Event>,JpaRepository<Event,String> {}
4. 配置数据库(Application.properties)
### web
server.port=8080### resources
spring.resources.static-locations=classpath:/static/# 配置SQLServer数据库连接
spring.datasource.url = jdbc:sqlserver://localhost:1433;DatabaseName=Database
spring.datasource.username = ***
spring.datasource.password = ***
spring.datasource.driver-class-name = com.microsoft.sqlserver.jdbc.SQLServerDriver# 配置JPA
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

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

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

相关文章

工信部颁发的《计算机视觉处理设计开发工程师》中级证书

计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说&#xff0c;计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标&#xff0c;计算机视觉结合了图像处理、机器学习、模…

主从不一致解决方案

此方案重新实现主从,数据完全同步 1)进入主库数据库 mysql -uroot -proot 2) 在主库加锁,开启只读服务(保证没有新数据写入) flush tables with read lock; 3)在主库进行数据备份,把数据备份为.sql的文件 mysqldump -u登陆用户 -p登陆密码 --all-databases > my…

11.3 Web开发_JavaScript入门(❤❤❤)

11.3 Web开发_JavaScript入门 1. 简介1.1 JavaScript简介1.2 浏览器执行js1.3 js组成1.4 js书写位置2. 基础语法2.1 变量2.2 数据类型2.3 数据类型检测_typeof ❤❤2.4 NaN 和 isNaN2.5 数据类型相互转换3. 运算符及流程控制3.1 运算符3.2 流程控制1. 分支结构 if..

Python 连接 mysql 详解(mysql-connector-python)

文章目录 1 概述1.1 第三方库&#xff1a;mysql-connector-python1.2 可视化工具&#xff1a;navicat1.3 创建测试数据库 2 连接 mysql 数据库2.1 创建一个连接2.2 捕获连接异常2.3 从配置文件中获取连接信息 3 执行 sql 语句3.1 插入、更新、删除3.2 查询 1 概述 1.1 第三方库…

深度学习系列56:使用whisper进行语音转文字

1. openai-whisper 这应该是最快的使用方式了。安装pip install -U openai-whisper&#xff0c;接着安装ffmpeg&#xff0c;随后就可以使用了。模型清单如下&#xff1a; 第一种方式&#xff0c;使用命令行&#xff1a; whisper japanese.wav --language Japanese --model…

前端Vue every() 方法

every() 方法用于检测数组所有元素是否都符合指定条件&#xff08;通过函数提供&#xff09;。 every() 方法使用指定函数检测数组中的所有元素&#xff1a; 如果数组中检测到有一个元素不满足&#xff0c;则整个表达式返回 false &#xff0c;且剩余的元素不会再进行检测。如…

网易和腾讯面试题精选---性能和优化面试问题

介绍 在当今快节奏的数字环境中,优化性能对于确保软件系统的效率、可靠性和可扩展性至关重要。随着组织努力提供无缝的用户体验、满足不断增长的需求并保持竞争力,性能调整和优化成为关键学科。本文深入探讨了跨不同领域、技术和应用场景优化系统性能的关键策略、技术和最佳…

Relation-graph关系图/流程图,VUE项目基础使用

一、Relation-graph 是支持Vue2、Vue3、React的关系数据展示组件&#xff0c;支持通过【插槽】让使用者使用"普通HTML元素、Vue组件、React组件"来完全自定义图形元素&#xff0c;并提供实用的API接口让使用者轻松构建可交互的图形应用。 二、网站&#xff1a; Re…

MySQL运维实战(5.3) MySQL数据乱码的一些情况

作者&#xff1a;俊达 表数据乱码 表数据出现乱码的情况通常是由于数据的真实编码与相关参数不一致引起的&#xff0c;其中包括常见的参数如character_set_client、character_set_results、字段编码以及终端编码等。确保这些参数保持一致&#xff0c;可以有效预防和解决乱码问…

歌声悠扬如往昔

有一首歌 - 朱晓琳&#xff08;网易云单曲&#xff09; 作词 : 陈彼得作曲 : 陈彼得有一首歌我想起你那时候微风轻轻有一首歌我想起你你的感觉温馨有多少的欢笑就有多少的忧伤 愿时光在这里停住(好景不常在)歌声悠扬如往昔哦哦哦咿咿咿有一首歌我和你词意朦胧旋律依稀唱一首歌…

【数据结构 09】哈希

哈希算法&#xff1a;哈希也叫散列、映射&#xff0c;将任意长度的输入通过散列运算转化为固定长度的输出&#xff0c;该输出就是哈希值&#xff08;散列值&#xff09;。 哈希映射是一种压缩映射&#xff0c;通常情况下&#xff0c;散列值的空间远小于输入值的空间。 哈希运…

如何在个人PC的桌面创建一个类似网吧的游戏菜单并分类?

GGTools 免费的桌面图标管理器、软件菜单、游戏菜单 单机版游戏菜单、个人/家用/家庭版游戏菜单、轻量级图标收纳软件

GPT用来润色论文\生成完整长篇论文\进行AI绘图,真的太香了!

详情点击公众号&#xff1a;技术科研吧 链接&#xff1a;GPT用来润色论文\生成完整长篇论文\进行AI绘图&#xff0c;真的太香了&#xff01; 第一&#xff1a;2024年AI领域最新技术 1.OpenAI新模型-GPT-5 2.谷歌新模型-Gemini Ultra 3.Meta新模型-LLama3 4.科大讯飞-星火认…

Jenkins(三):自动化部署SpringBoot项目

前言 在软件开发过程中&#xff0c;自动化部署已经成为不可或缺的一环。Jenkins是一个广泛使用的开源自动化部署工具&#xff0c;它提供了强大的功能和灵活的配置选项&#xff0c;可以帮助开发团队实现高效的持续集成和持续部署。本文将详细介绍如何使用Jenkins自动化部署Spri…

6-树-二叉树的层序遍历 II

这是树的第7篇算法&#xff0c;力扣链接。 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,nu…

gpt今日最新新闻:gpts的广泛应用

最近&#xff0c;OpenAI给ChatGPT带来了一个备受期待的更新——“GPT提及&#xff08;mentions&#xff09;”功能。这项创新不仅增强了ChatGPT的实用性&#xff0c;也为AI在日常业务中的运用开辟了新路径。在本文中&#xff0c;我将分享我对这项新功能的初步体验&#xff0c;并…

SpringBoot整理-性能优化

Spring Boot性能优化通常涉及到多个方面,包括代码优化、数据库交互、资源使用和系统配置等。下面是一些常见的优化建议: 代码层面的优化:使用合适的数据结构和算法。减少不必要的对象创建,避免内存泄漏。对于重复使用的对象,考虑使用对象池。数据库优化:优化SQL查询,避免复…

前端JavaScript篇之常用的正则表达式有哪些?

目录 常用的正则表达式有哪些&#xff1f; 常用的正则表达式有哪些&#xff1f; 常用的正则表达式包括以下几个方面&#xff1a; 匹配16进制颜色值&#xff1a;#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})可以用于匹配16进制颜色值&#xff0c;如"#ff0000"或"#f00"…

【MySQL】——数据定义

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

IDEA插件ChatGPT - Easycode安装使用

IDEA插件ChatGPT - Easycode简介 ChatGPT - Easycode 是一个由 OpenAI 开发的 IntelliJ IDEA 插件,它可以利用 ChatGPT 的强大语言生成能力,帮助开发人员提高编码效率。 主要功能: 代码生成:可以根据自然语言描述生成代码,支持多种编程语言,包括 Java、Python、JavaSc…