Spring Data Solr

circle-info

作为背景知识,先学习下 Spring Data repository——用于减少各种数据持久化方案中数据访问层的代码。

核心概念

Repository

package org.springframework.data.repository;

import java.io.Serializable;

public interface Repository<T, ID extends Serializable> {

}

CrudRepository

提供 CRUD 操作

public interface CrudRepository<T, ID extends Serializable>
    extends Repository<T, ID> {

    <S extends T> S save(S entity); 

    T findOne(ID primaryKey);       

    Iterable<T> findAll();          

    Long count();                   

    void delete(T entity);          

    boolean exists(ID primaryKey);  

    // … more functionality omitted.
}

PagingAndSortingRepository

除了CRUD,还支持分页和排序

分页示例

查询方法

使用 Spring Data 来完成查询,只需要4步

创建一个接口

接口应该继承自 Repository 接口

在接口里声明查询方法

配置Srping

Spring会生成该接口的代理

注入接口并使用

定义 Repostory 接口

@RepositoryDefinition

继承 CrudRepostory,意味着 CrudRepostory 的方法都被暴露出去;如果只想提供几个有限的方法,可以使用 @RespotitoryDefinition,来指定你需要的方法

有选择的 CRUD 方法

Last updated