[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都包含这个方法,请看下一篇。