首页 > 代码库 > [Spring Data Repositories]学习笔记--定义自己的repository

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