Spring Data Elasticsearch

前言

Spring Data Elasticsearch项目核心概念使用ElasticSearch搜索引擎开发解决方案,我们为文档的存储、查询、排序和分类提供一个更高级别的抽象模板,你会发现这与Spring框架里的Spring Data solr和 mongodb的支持有相似之处。

项目元数据

要求

需要 Elasticsearch 0.20.2 以上,如果使用Embedded Node Client,则可选择也可以不要。

1. 使用Spring Data Repositories

Spring Data Repositories的目标是为了显着的降低对于访问不同的数据库,数据访问层实现所需要的代码量。

这章节解释了Spring Data Repositories的接口与核心概念,该章节的内容来自Spring Data Commons模块,它使用JPA模块的配置和代码实例,改变以往所使用的xml的配置

1.1 核心概念

Spring Data Repositories抽象的核心接口是Repository(可能不那么令人吃惊),它将实体类和实体类的ID作为参数,此接口主要用作标记接口,以捕获要使用的类型,并帮助您方便扩展此接口。CrudRepository为实体类的管理提供方便的增删改查功能。

例1. CrudRepository接口

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

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

  Optional<T> findById(ID primaryKey); 

  Iterable<T> findAll();               

  long count();                        

  void delete(T entity);               

  boolean existsById(ID primaryKey);   

  // … more functionality omitted.
}

save:实体类保存
findById:通过id查找实体类
findAll:查找所有
count:返回实体类的总数
delete:删除实体类
existsById:检查是否存在

我们也提供一些其他接口如JpaRepository、MongoRepository,这些接口继承CrudRepository而且暴露底层持久化技术的能力,除了比较通用的持久化接口,如CrudRepository

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。