返回顶部
首页 > 资讯 > 精选 >Spring Data Jpa如何实现自定义方法
  • 314
分享到

Spring Data Jpa如何实现自定义方法

2023-06-22 00:06:49 314人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关spring Data Jpa如何实现自定义方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Data Jpa 自定义方法的实现最近项目中用到

这篇文章将为大家详细讲解有关spring Data Jpa如何实现自定义方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    Spring Data Jpa 自定义方法的实现

    最近项目中用到了Spring Data JPA,在里面我继承了一个PagingAndSortingRepository的接口,期望的是利用Spring Data JPA提供的便利。

    同时我也希望自己有一个能定义自己方法的接口,因为单纯靠Spring Data JPA中提供的功能还是有很多业务逻辑实现不了,我必须自己实现。

    那么问题来了:Spring Data JPA好处就是让我们省去了实现接口的过程,按照他们给的命名规范他们会自动实现我们的业务逻辑,那我们自己实现的接口要怎么注入到其中呢?

    上网查找了好多资料,都没有说的太详细,更多的是照搬胡抄,这里是我亲自写的,可能很多人会用到,不多说上代码:

    自己的接口

    package com.mhc.dao; import org.springframework.stereotype.Repository; import com.mhc.entity.Person; @Repositorypublic interface DeviceCateGoryDaoCustom { public Person getsFather(Person person); }

    主接口

    public interface DeviceCategoryDao extends  PagingAndSortingRepository<Person, String>, DeviceCategoryDaoCustom {  }

    上面是我的接口继承PagingAndSortingRepository、DeviceCategoryDaoCustom(我自己方法的接口)。

    我新建一个类来实现我自己的接口

    package com.mhc.dao; import javax.persistence.PersistenceContext;import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.repository.CrudRepository;import org.springframework.data.repository.NoRepositoryBean;import org.springframework.stereotype.Component;import org.springframework.stereotype.Repository;import org.springframework.stereotype.Service; import com.mhc.entity.Person; @Repository("crudRepositoryDaoCustom")class DeviceCategoryDaoImpl implements DeviceCategoryDaoCustom {  @Transactional public Person getsFather(Person person) {  // TODO Auto-generated method stub  Person father = new Person();  father = person.getParentPerson();  return father; }}

    在这里有个需要注意的地方,就是用不用implements的问题,如果用的话,他就会调用编译器的实现功能去实现我们自定义的接口也就是:DevicecategoryCustom。

    如果去掉的话,他会去实现DeviceCategoryDao,那么会有人问,他怎么去自己找的呢。

    事实上他是根据后面的Impl来寻找的。他不会提示@override,不过你写相同的方法他还是会覆盖(覆盖主接口中的同名方法,如果有的话)DeviceCategoryDao中的同名方法。你可以去尝试一下。

    同时加上@Repository把他加入到Bean里面,这样下次用这个方法的时候Repository会自动找到他的(话说Spring团队真心NB)。然后我们交给spring托管、测试。。。。。Ok 真心赞

    Spring Data Jpa自定义方法关键字

    关键字方法名举例对应的sql
    AndfindByNameAndAgewhere name = ? and age = ?
    OrfindByNameOrAgewhere name = ? or age = ?
    IsfindByNameIswhere name = ?
    EqualsfindByNameEqualswhere name = ?
    BetweenfindByAgeBetweenwhere age between ? and ?
    LessThanfindByAgeLessThanwhere age < ?
    LessThanEqualsfindByAgeLessThanEqualwhere age <= ?
    GreatorThanfindByAgeGreaterThanwhere age > ?
    GreatorThanEqualsfindByAgeGreaterThanEqualwhere age >= ?
    AfterfindByAgeAfterwhere age > ?
    BeforefindByAgeBeforewhere age < ?
    IsNullfindByNameIsNullwhere name is null
    IsNotNull,NotNullfindByNameIsNotNull,findByNameNotNullwhere name is not null
    NotfindByNameNotwhere name <>?
    InfindByAgeInwhere age in (?)
    NotInfindByAgeNotInwhere age not in (?)
    NotLikefindByNameNotLikewhere name not like ?
    LikefindByNameLikewhere name like ?
    StartingWithfindByNameStartingWithwhere name like ‘?%'
    EndingWithfindByNameEndingWithwhere name like ‘%?'
    Containing,ContainsfindByNameContaining,findByNameContainswhere name like ‘%?%'
    OrderByfindByOrderByAgeDescorder by age desc
    TruefindByBossTruewhere boss = true
    FalsefindByBossFalsewhere boss = false
    IgnoreCasefindByNameIgnoreCasewhere UPPER(name) = UPPER(?)

    关于“Spring Data Jpa如何实现自定义方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    --结束END--

    本文标题: Spring Data Jpa如何实现自定义方法

    本文链接: https://lsjlt.com/news/301559.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Spring Data Jpa如何实现自定义方法
      这篇文章将为大家详细讲解有关Spring Data Jpa如何实现自定义方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Data Jpa 自定义方法的实现最近项目中用到...
      99+
      2023-06-22
    • 关于Spring Data Jpa 自定义方法实现问题
      目录Spring Data Jpa 自定义方法的实现自己的接口主接口我新建一个类来实现我自己的接口Spring Data Jpa自定义方法关键字Spring Data Jpa 自定义...
      99+
      2024-04-02
    • spring data jpa如何使用自定义repository实现类
      目录spring data jpa使用自定义repository实现类创建MyJpaRepository实现类创建MyJpaRepositoryFactoryBean配置JPAJpa...
      99+
      2024-04-02
    • 使用Spring Data JPA如何实现自定义规则查询
      使用Spring Data JPA如何实现自定义规则查询?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、常用规则速查1   And    并且2   Or    &nbs...
      99+
      2023-05-31
      spring data jpa
    • Spring Data JPA框架的Repository自定义实现详解
      目录1. Spring Data Repository自定义实现1.1 自定义特殊repository1.2 配置类1.3 解决歧义1.4 手动装配1.5 自定义Base Repos...
      99+
      2024-04-02
    • Spring Data Jpa返回自定义对象的3种方法实例
      目录方法一、简单查询直接new对象方法二、Service层使用EntityManager方法三、Dao层使用Map接收自定义对象总结tasks表对应的Entity @Entity @...
      99+
      2024-04-02
    • spring data jpa 查询自定义字段,转换为自定义实体方式
      目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台。 环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2...
      99+
      2024-04-02
    • Spring Data Jpa多表查询如何返回自定义实体
      小编给大家分享一下Spring Data Jpa多表查询如何返回自定义实体,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SpringDataJ...
      99+
      2023-06-29
    • 怎么使用spring data jpa自定义sql方式
      本篇内容介绍了“怎么使用spring data jpa自定义sql方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sp...
      99+
      2023-06-22
    • spring-data-jpa使用自定义repository来实现原生sql
      目录使用自定义repository实现原生sql自定义Repository接口创建自定义RepositoryFactoryBeanSpringDataJpa原生SQL查询a.首先在S...
      99+
      2024-04-02
    • spring boot之使用spring data jpa的自定义sql方式
      目录spring data jpa介绍自定义SQL查询jpa两种自定义SQL的方式1. 原生SQL2. 实体类SQLspring data jpa介绍 PA(Java Persist...
      99+
      2024-04-02
    • Spring Data JPA映射怎么自定义实体类
      这篇文章主要介绍“Spring Data JPA映射怎么自定义实体类”,在日常操作中,相信很多人在Spring Data JPA映射怎么自定义实体类问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
      99+
      2023-06-25
    • Spring Data JPA映射自定义实体类操作
      目录SpringDataJPA映射自定义实体类JPA配置类实体映射示例Spring Data JPA映射自定义实体类 这个问题困扰了我2天=-=,好像也能使用 jpql解决 先说下自...
      99+
      2024-04-02
    • Spring Data JPA怎么自定义Repository接口
      本篇内容主要讲解“Spring Data JPA怎么自定义Repository接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Data J...
      99+
      2023-06-30
    • Spring Data JPA框架的Repository怎么自定义
      本文小编为大家详细介绍“Spring Data JPA框架的Repository怎么自定义”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring Data JPA框架的Repository怎么自...
      99+
      2023-06-30
    • spring-data-jpa怎么使用自定义repository来实现原生sql
      这篇文章给大家分享的是有关spring-data-jpa怎么使用自定义repository来实现原生sql的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用自定义repository实现原生sqlSpring D...
      99+
      2023-06-21
    • Spring Data MongoDB中如何实现自定义级联
      这篇文章给大家分享的是有关Spring Data MongoDB中如何实现自定义级联的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言Spring Data MongoDB 项目提供与MongoDB文档数据库的集...
      99+
      2023-05-30
      springdata mongodb
    • Spring Data JPA实现查询结果返回map或自定义的实体类
      目录Spring Data JPA查询结果返回map或自定义的实体类1.工具类2.具体应用spingboot:jpa:Spring data jpa 返回map 结果集Spring ...
      99+
      2024-04-02
    • Spring Data JPA如何实现审计功能
      本文小编为大家详细介绍“Spring Data JPA如何实现审计功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring Data JPA如何实现审计功能”文章能帮助大家解决疑惑,下面跟着小...
      99+
      2023-07-05
    • Spring Data JPA框架快速入门之自定义Repository接口
      目录自定义Repository接口repository接口定义使用Repository接口自定义Repository接口 要定义一个repository接口,你首先需要自定义一个实体...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作