码迷,mamicode.com
首页 > 编程语言 > 详细

SpringdataJpa的官方API学习

时间:2018-01-09 18:40:28      阅读:1039      评论:0      收藏:0      [点我收藏+]

标签:family   extend   查询   通过   sts   aging   dso   zab   jpa   

(将对Springdata JPA的API  第三章之后进行解释)

一 .  Core concepts(核心概念)

1.springdata中的中心接口是——Repository。这个接口没有什么重要的功能(原句称没什么惊喜的一个接口)。主要的作用就是标记和管理。其他的接口都是此接口的子类。

Example 1:

 

 1 public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
 2     <S extends T> S save(S var1);//保存给定的实体
 3 
 4     <S extends T> Iterable<S> save(Iterable<S> var1);//保存指定的实体集合
 5 
 6     T findOne(ID var1);查询指定id的实体
 7 
 8     boolean exists(ID var1);//判断一个实体是否与给定的ID存在
 9 
10     Iterable<T> findAll();//返回所有实体
11 
12     Iterable<T> findAll(Iterable<ID> var1);//查询指定的实体集合
13 
14     long count();//该实体的总数
15 
16     void delete(ID var1);//根据id删除指定实体
17 
18     void delete(T var1);//删除指定实体
19 
20     void delete(Iterable<? extends T> var1);//删除指定的实体集合
21 
22     void deleteAll();//删除全部
23 }

 

除此还提供了一些技术相关的接口,比如 JpaRepository,MongoRepository这两个接口继承了CrudRepository

2.CrudRepository

1)CrudRepository有个子类PagingAndSortingRepository,增加了一些方法来实现分页。

Example 2:

1 public interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID> {
2     Iterable<T> findAll(Sort var1);
3 
4     Page<T> findAll(Pageable var1);
5 }

Example 3:Sort中创建的是自定义的排序方式,PageRequest中创建的是自定义分页的方式(注意:分页索引是从0开始,所以想要查询第一页二十条数据时,应插入(0,20))。

dao层:

技术分享图片

Controller(直接调用,没通过Service):

 技术分享图片

 

2)除了查询,计数和删除查询都可以使用

Example 4:

 

SpringdataJpa的官方API学习

标签:family   extend   查询   通过   sts   aging   dso   zab   jpa   

原文地址:https://www.cnblogs.com/miaoww/p/8252692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!