欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > SpringBoot项目如何使用自定义Repository

SpringBoot项目如何使用自定义Repository

2024/10/24 10:20:31 来源:https://blog.csdn.net/qq_66452396/article/details/140374759  浏览:    关键词:SpringBoot项目如何使用自定义Repository

        在公司实习的时候,遇到这样一个问题,就是当往数据库添加记录的时候,需要先去查看数据库中的记录数是否超过了最大限制,如果没有超过则进行添加;否则就需要删除先前的记录从而保证数据库中的记录数。这样的话,当调用dao层的save方法时,如果只是使用jpa提供的save方法,显然是达不到要求的。所以我通过翻找项目代码以及翻阅博客,对如果使用自定义的Repository有了一定的认识。

        1. 当创建一个UserRepository接口继承JpaRepository后,调用对应的save方法时,jpa会自动创建这个接口的实现类,并调用SimpleJpaRepository里面的save方法。

       2. 如果想要使用自己执行save方法的逻辑,则需要一个自定义类去继承SimpleJpaRepository并重写save方法,这个自定义类也就是我们自定义的Repository。

     3. 在 CustomerBaseRepository 类中重写 SimpleJpaRepository 中的 save 方法。 

    4. 在springboot的启动类中添加 需要扫描的 jpa中的 repository 路径 以及指定自定义的 repository类。这样的话,spring框架就会自动扫描到 CustomerBaseRepository 类并用它替代 

SimpleJpaRepository 执行其他添加 @Repository 注解的接口 的 save方法。

    注意:CustomerBaseRepository 不需要添加 @Repository 注解,因为指定好了spring容器就可以扫描到这个类。如果添加 @Repository 类会导致找不到 SimpleJpaRepository 构造方法中的 JpaEntityInformation 和 EntityManager ,从而使得spring容器启动失败。

     5. 调用 UserRepository. save方法,会自动进入到 CustomerBaseRepository 中重写的 save 方法,这样就完成了 自定义 Repository 的使用,也符合 调用 save 方法需要执行的业务逻辑了。

以上就是我对springboot项目中如果使用自定义的 Repository 的理解了,如有不足请批评指正。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com