美文网首页
Spring Data Elasticsearch

Spring Data Elasticsearch

作者: FlyXhc | 来源:发表于2018-01-22 22:13 被阅读442次

前言

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

相关文章

网友评论

      本文标题:Spring Data Elasticsearch

      本文链接:https://www.haomeiwen.com/subject/sigraxtx.html