[Spring Data Repositories]学习笔记--定义自己的repository

有时,我们会需要用到自己定义的一些查询方法,可以按照下面几步进行。

1. 定义一个包含该方法的接口

Interface UserRepositoryCustom {
public void someCustomMethod(User user);
}

2. 定义实现

class UserRepositoryImpl implements UserRepositoryCustom {
public void someCustomMethod(User user){
//Your custom implementation
}
}

3. 定义你要用的repository

public interface UserRepository extends CrudRepository<User,Long>, UserRepositoryCustom {
//Declare query methods here.
}

4. 有两种方式可以对repository进行配置

4.1 通过统一的后缀名(限制是自己的implementation必须进行annotation配置,而且仅用于autowired)

<repositories base-package="com.acme.repository"/>//默认后缀为Impl
<repositories base-package="com.acme.repository" repository-impl-postfix="FooBar"/>

如果没有配置后缀,默认会找UserRepositoryImpl这个类。

4.2 自己定义bean

<repositories base-package="com.acme.repository"/>
<beans:bean id="userRepositoryImpl" class="...">
<!--further configuration-->
</beans:bean>

上面这种方法只能针对单一的repository,如果想所有的repository都包含这个方法,请看下一篇。

原文地址:https://www.cnblogs.com/lemonbar/p/3892509.html