SpringData中的CrudRepository接口

SpringData核心数据访问接口--CrudRepository示例 1.Spring Data JPA可以极大地简化JPA的写法,在几乎不用写接口实现的情况下完成对数据的访问和操作。 2.Spring Data通过提供Repository接口来约定数据访问的统一标准。 3.Repository接口下包含一些常用的子接口:    CrudRepository、PagingAndSortingRepository、JpaRepository 4.在进行spri... 阅读详情

CrudRepository 接口继承于 Repository 接口,并新增了简单的增、删、查等方法

所以比起Repository方便了很多呀

如何来使用CrudRepository 接口:

第一步:创建一个的接口继承CrudRepository 接口

package org.peter.dao;

import org.peter.model.User;
import org.springframework.data.repository.CrudRepository;

/**
 * Created by Lenovo on 2017/7/28.
 */
public interface UserDaoFirst extends CrudRepository<User,Long> {
}
因为CrudRepository 接口中已经有了方法所以不用在申明方法了

第二步:创建一个Service层

package org.peter.service;

import org.peter.dao.UserDaoFirst;
import org.peter.model.User;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * Created by Lenovo on 2017/7/28.
 */
@Service
public class UserServiceFirst {
    @Resource
    UserDaoFirst userDaoFirst;
    public void save(List<User> users){
        userDaoFirst.save(users);
    }

    public void delete(Long id){
        userDaoFirst.delete(id);
    }

    public void deleteMore(List<User> users){
        userDaoFirst.delete(users);
    }
}
第三步:创建一个main类做测试

package org.peter;

import org.junit.Test;
import org.peter.model.User;
import org.peter.service.UserServiceFirst;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Lenovo on 2017/7/28.
 */
public class MainFirst {
    private ClassPathXmlApplicationContext ctx;
    private UserServiceFirst userServiceFirst;
    {
        ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        userServiceFirst = ctx.getBean(UserServiceFirst.class);
    }

    //添加操作
    @Test
    public void save(){
        List<User> users = new ArrayList<>();
        for (int i = 0; i <100 ; i++) {
            User user = new User();
            user.setAddress("白银");
            user.setPassword("789");
            user.setUsername("望奎");
            users.add(user);
        }
        userServiceFirst.save(users);
    }

    //删除操作
    @Test
    public void delete(){
        userServiceFirst.delete(1l);
    }
    @Test
    public void deleteMore(){
        List<User> list = new ArrayList<>();
        User user = new User();
        user.setId(2l);
        User user1 = new User();
        user1.setId(5l);
        list.add(user);
        list.add(user1);
        userServiceFirst.deleteMore(list);
    }
}
以上就是SpringData的CrudRepository 接口使用

补充:

CrudRepository 接口提供了最基本的对实体类的添删改查操作

1.T save(T entity);//保存单个实体

2.Iterable<T> save(Iterable<? extends T> entities);//保存集合       

3.T findOne(ID id);//根据id查找实体        

4.boolean exists(ID id);//根据id判断实体是否存在        

5.Iterable<T> findAll();//查询所有实体,不用或慎用!       

6.long count();//查询实体数量        

7.void delete(ID id);//根据Id删除实体        

8.void delete(T entity);//删除一个实体

9.void delete(Iterable<? extends T> entities);//删除一个实体的集合       

10.void deleteAll();//删除所有实体,不用或慎用!
从‘平行’到‘鱼骨’:手把手拆解AlGaN/GaN HEMT多栅指结构的布局优化实战 本文深入探讨了AlGaN/GaN HEMT多栅指结构的布局优化,从传统的平行栅结构到创新的鱼骨栅结构,详细解析了如何通过优化信号路径和热管理提升功率器件的性能。文章结合实测数据和EDA工具,展示了鱼骨栅结构在相位一致性、热阻和版图利用率方面的显著改进,为射频功率放大器设计提供了实用指导。 阅读详情

相关推荐

嵌入式SPI总线抽象设计:跨平台驱动与分层解耦实践

SPI(串行外设接口)是嵌入式系统中应用最广泛的同步串行通信协议,其核心价值在于高吞吐、低开销与硬件简洁性。其工作原理基于主从架构、全双工/半双工时序及片选(CS)控制,依赖CPOL/CPHA组合定义四种标准模式。在工程实践中,SPI常面临硬件资源受限、多外设共用总线、MCU平台迁移等挑战,导致驱动复用率低、维护成本高。通过结构体+函数指针实现的分层抽象——将物理总线、协议适配与设备驱动解耦,可显著提升代码可移植性与扩展性。该方法天然支持硬件SPI与GPIO模拟SPI双模式切换,并已在STM32等主流MCU

weixin_42601134的博客 60

spring data 接口之 CrudRepository

CrudRepository 接口继承于 Repository 接口,并新增了简单的增、删、查等方法 [java] view plain copy        long count();   boolean exists(Integer arg0);    extends StudentPO> S save(S arg0);  extends StudentPO> 

maguanghui_2012的专栏 2096

STM32F4_LCD显示汉字

LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示;

light_2025的博客 1万+

spring-data-repository-CrudRepository使用

maven引入 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <scope>provided</scope> </dependency> 新建目录model并创建实体类 package com.ciist.mahasthama.

qq_40907473的博客 1259

PP-OCRv6 ONNX部署的官方和手搓方案

PP-OCRv6 基于全新设计的 PPLCNetV4 统一骨干网络,提供 tiny、small、medium 三档模型,分别面向端侧/IoT、移动端/桌面端、服务端场景。在内部多场景综合评估集上,PP-OCRv6_medium 相比 PP-OCRv5_server 识别精度提升 5.1%、检测精度提升 4.6%,同时 GPU 推理速度提升 2.37×;以仅 34.5M 参数的规模,精度超越 Qwen3-VL-235B、GPT-5.5 等大型视觉语言模型。

懒人的技术笔记 1895

FPGA中Verilog HDL/VHDL实现NCO(数字控制振荡器)的查表法优化与性能分析

本文深入探讨了在FPGA中使用Verilog HDL/VHDL实现数字控制振荡器(NCO)的查表法优化与性能分析。文章详细解析了NCO的核心工作原理,包括相位累加器、查找表(ROM)的设计,并重点介绍了利用波形对称性压缩ROM、相位抖动注入等关键优化技巧,以提升无杂散动态范围(SFDR)并平衡速度、精度与资源消耗。

vscode6remote的博客 456

Spring Boot整合Spring Data JPA学习笔记

Spring Boot 整合Spring Data JPA ORM思想 主要目的:操作实体类相当于操作数据库表 建立两个关系: 1.建立实体类和表的映射关系 2.建立实体类中的属性和表中字段的映射关系 不再重点关注sql语句(这是ORM思想我感觉最好的一个地方) 实现了ORM思想的框架:mybatis,hibernate JPA底层实现数据库语言的还是hibernate Spring Boot 整合Spring Data JPA 的时候Dao层的repository接口类继承的四个接口的详解 Spring

lyq1525761478的博客 371

研发工作量科学量化评估模型:从多维系数到等级落地指南

摘要:本文提出了一套基于多维系数的科学量化评估模型,用于精准评估软件开发工作量。该模型从需求复杂度、技术难度、质量要求和依赖风险四个核心维度进行量化评估,通过系数乘积计算综合工作量。文章详细说明了各维度的系数区间划分标准,并演示了从基础工作量估算到综合系数计算的具体步骤。该模型通过结构化评估过程,将主观经验转化为客观量化指标,帮助团队提高工作量评估的准确性,增强项目交付的可预测性。其价值在于使评估过程透明化、结构化和可追溯,从而减少项目延期风险,优化资源规划。

友莘居士的博客 1684

java: 无法将接口 org.springframework.data.repository.query.QueryByExampleExecutor<T>中的方法

errors log: Error:(43, 30) java: 无法将接口 org.springframework.data.repository.query.QueryByExampleExecutor<T>中的方法 findOne应用到给定类型; 需要: org.springframework.data.domain.Example<S> 找到: long ...

紫蝶侠的博客 7505

论文理解【LLM-Clarification】—— 【QDrawer】Asking the Right Question at the Right Time: Human and Model Unce

本文基于 CoDraw 任务对 LLM 澄清提问的触发方式进行探索,发现模型内部不确定性与人类澄清决策相关性弱,使用不确定性阈值触发澄清提问相比模仿人类提问时机,性能和计算效率都更好

佚失的诗篇 770

从零构建法律案例数据库:Python爬虫实战与法律文本挖掘全攻略

在当今数字化浪潮席卷全球的背景下,法律行业正经历着前所未有的变革。法律案例数据库作为法律大数据的重要组成部分,已经成为法律从业者、研究人员、法学院学生乃至企业法务部门的必备工具。然而,商业法律数据库如北大法宝、威科先行、LexisNexis等往往价格不菲,且数据访问受限。对于个人研究者或小型机构而言,构建一个定制化的法律案例数据库不仅能节省成本,更能根据特定研究需求灵活调整数据结构。

2201_76125261的博客 538

SpringData Modifying注解与CrudRepository 接口

一、Modifying 注解在@Qurey中使用DELETE UPDATE 语句1、可用通过自定义JPQL来完成Update 和 Delete 操作,注意JPQL不支持Insert 2、在使用@Query注解的时候,必须使用@Modifying注解从而来通知SpringData,这是一个Update 或者 Delete操作 3、Update 和Delete操作需要事务,就必须在Serivce层定义...

weixin_33910434的博客 424

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

注意:本节内容和《计算机组成原理》“存储器”那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度。因此如果没有学习过这部分的同学,强烈建议先看这一部分 王道计算机组成原理笔记 本文主要会涉及以下必要的内存知识 文章目录一:内存及其作用 一:内存及其作用 内存:内存又称之为主存。是一种硬件设备,作为CPU和硬盘的缓冲区,用于解决其速度不匹配的问题,提高整机性能。程序执行前需要放入内存才能运行 ...

快乐江湖的博客 2792

SpringData的CrudRepository接口

 SpringData的所有接口 CrudRepository接口 ,其中提供了这些方法提供使用:需要注意的是在执行保存,删除,更新操作时需要将方法放到service中加上事务 CrudRepository 接口提供了最基本的对实体类的添删改查操作 T save(T entity);//保存单个实体 Iterable&lt;T&gt; save(Iterable&lt;? ext...

qq_36722039的博客 438

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

springData学习(三)CrudRepository接口学习

首先看一下CrudRepository接口里面有哪些方法。 save(S entity) insert一条数据 Iterable<S> saveAll(Iterable<S> entities); 批量插入多条数据 findById(ID id); 根据id查找数据 existsById(ID id); 判断id是否存在 findA...

java_chegnxuyuan的博客 2237

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringData CrudRepository接口(六)

通过前面的学习,我们知道Repository接口是一个空接口,即一个标记型接口。实际上Repository有很多子接口。现在我们来学习第一个子接口CrudRepository接口。点进CrudRepository,看这些方法名我们就能够知道他是干啥的~我们现在通过sava方法进行测试保存数据因为我们要做的事情实际上是一个保存操作,所以说这个方法呢需要添加到service层。测试类,进行批量添加~其...

qq_41686190的博客 640

SpringData_CrudRepository接口

CrudRepository CrudRepository 接口提供了最基本的对实体类的添删改查操作 T save(T entity);//保存单个实体 Iterable<T> save(Iterable<? extends T> entities);//保存集合 T findOne(ID id);//根据id查找实...

weixin_30595035的博客 87

SpringData 学习(6)—— 学习 Repository 接口的第 1 个子接口 CRUDRepository

CRUDRepository 的使用很简单,原来我们继承 Repository ,现在我们继承 CRUDRepository ,就可以使用 CRUDRepository 固定的一些方法,我们不用写 SQL 语句。public interface BookRepository extends CrudRepository<Book, Integer> {}说明:里面可以不用写任何方法,因为 CrudR

李威威的博客 8280

SpringData入门案列

springData基础 目录 1.创建项目,导入依赖:pom.xml 2.配置Spring核心配置文件:ApplicationContext.xml 3.创建实体: 4.Repository接口 5.Repository接口中方法定义约定 6.@Query注解自定义SQL 7.CrudRepository接口 8.PagingAndSortingRepository接口 1....

m0_37657725的博客 453

SpringData之repository接口详解

SpringData官方文档以下是本人阅读各种大牛博客 + 官方文档总结的知识点 避免大家学习走弯路 总结如下Repository 接口是 Spring Data 的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法 与继承 Repository 等价的一种方式。@RepositoryDefinition 注解,并为其指定 domainClass 和 idClas

just xiaoqiang 4757

SpringData JPA -JPA接口体系

一)JPA接口的继承结构 1.1)SpringData 加入的主要是两个包 1.SpringData-Commons.jar 2.SpringData-jpa.jar 1.2)JPA接口分布在这两个包下每个接口主要的作用和方法介绍 1.JapResposttory:接口 该接口是开放是常用的接口,此接口为封装了对数据库常用的Curd操作。 此接口存放于SpringData-...

失忆๑的博客 417

什么是SpringData

Spring Data 是Spring 的一个子项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。Spring Data则提供了基于这些层面的统一接口(CrudRepository,PagingAndSortingRepository)以及对持久化存储的实现。 一: Spr

bobozai86的博客 8909

Spring Boot中CrudRepository与JpaRepository

原文链接:https://blog.csdn.net/xuemengrui12/article/details/80525227 自学Spring Boot的时候看到书上在介绍Spring Data JPA的时候,用的是JpaRepository接口,但看很多的博客用的是CrudRepository,为了搞明白两者的关系,决定好好研究下,先看下两者的接口代码: @NoRepositoryBean ...

weixin_45335305的博客 372

Spring Data的CrudRepository使用及其遇到的问题和解决方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34356555的博客 5193

【SpringData&JPA从入门到精通】03-SpringData-Repository 子接口

笔记来源:尚硅谷SpringData教程(springdata经典,spring data快速上手) 文章目录Repository 子接口1、Repository 子接口2、CrudRepository 接口3、PagingAndSortingRepository 接口4、JpaRepository 接口5、JpaSpecificationExecutor 接口6、自定义 Repository 方法总结 Repository 子接口 1、Repository 子接口 在之前 01-Repository .

VectorX's Blog 691

Spring Data JPA(1)--Repository和CrudRepository接口

最近在学习Spring Data JPA的相关知识,感觉还是很不错的,提供了很多方法,包括CRUD和分页排序,基本能够满足现实的功能需求. 它一共提供了四个接口: Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类,方便Spring自动扫描识别 CrudRepository: 继承Repository,实现了一组CRUD相关的方法 PagingAndSortingRepos...

呢喃北上的博客 7757
上一篇: SpringData的@Query的注释操作
下一篇: SpringData中的PagingAndSortingRepository接口
@夫子慧
博客等级 码龄9年 9粉丝 55原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值