1、查询所有数据 findAll()

2、分页查询 findAll(new PageRequest(0, 2))

3、根据id查询 findOne()

4、根据实体类属性查询: findByProperty (type Property);   例如:findByAge(int age);

5、排序:  findAll(sort )

Sort sort = new Sort(Sort.Direction.DESC, "age").and (new Sort(Sort.Direction.DESC, "id"));

6、条件查询  and/or/findByAgeLessThan/LessThanEqual 等,

例如: findByUsernameAndPassword(String username , String password)

7、总数 查询 count()  或者 根据某个属性的值查询总数countByAge(int age);

8、是否存在某个id   exists()

二、修改,删除,新增
新增:直接使用 save(T) 方法
删除: delete()  或者  deleteByProperty   例如:deleteByAge(int age)  ;
更新(1):@Modifying 
           @Query("update Customer u set u.age = ?1 where u.id = ?2")
           int update(int age1 , long id);
更新(2):@Modifying 
           @Query("update Customer u set u.age = :age where u.id = :id")
           int update(Param("age ")int age1 , Param("id")long id);
 


官网上写出了所有的方法,非常详细,这里稍作列举

And  =>  等价于 SQL 中的 and 关键字 例如:findByUsernameAndPassword(String user, Striang pwd);

Or     =>  等价于 SQL 中的 or 关键字,例如:findByUsernameOrAddress(String user, String addr);

Between   => 等价于 SQL 中的 between 关键字,例如:SalaryBetween(int max, int min);

LessThan  => 等价于 SQL 中的 "<",例如: findBySalaryLessThan(int max);

GreaterThan  => 等价于 SQL 中的">",例如: findBySalaryGreaterThan(int min);

IsNull => 等价于 SQL 中的 "is null",例如: findByUsernameIsNull();

IsNotNull => 等价于 SQL 中的 "is not null",例如: findByUsernameIsNotNull();

NotNull=> 与 IsNotNull 等价;

Like => 等价于 SQL 中的 "like",例如: findByUsernameLike(String user);

NotLike => 等价于 SQL 中的 "not like",例如: findByUsernameNotLike(String user);

OrderBy => 等价于 SQL 中的 "order by",例如: findByUsernameOrderBySalaryAsc(String user);

Not => 等价于 SQL 中的 "! =",例如: findByUsernameNot(String user);

In => 等价于 SQL 中的 "in",例如: findByUsernameIn(Collection<String> userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;

NotIn => 等价于 SQL 中的 "not in",例如: findByUsernameNotIn(Collection<String> userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;

创建一个按单字段排序的Sort对象: new Sort(Sort.Direction.DESC, "description").and(new Sort(Sort.Direction.ASC, "id"))

jpa 复杂查询

http://blog.csdn.net/yingxiake/article/details/51014223

spring-data-jpa 新增 修改 删除 查询 分页的更多相关文章

  1. spring boot系列(四)spring boot 配置spring data jpa (保存修改删除方法)

    spring boot 使用jpa在pom.xml在上文中已经介绍过.在这里直接介绍各个类文件如何编写: 代码结构: domain(存放实体类文件): repository(存放数据库操作文件,相当于 ...

  2. Spring Data JPA中的动态查询 时间日期

    功能:Spring Data JPA中的动态查询 实现日期查询 页面对应的dto类private String modifiedDate; //实体类 @LastModifiedDate protec ...

  3. spring data jpa使用原生sql查询

    spring data jpa使用原生sql查询 @Repository public interface AjDao extends JpaRepository<Aj,String> { ...

  4. Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)

    推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...

  5. spring data jpa实现多条件查询(分页和不分页)

    目前的spring data jpa已经帮我们干了CRUD的大部分活了,但如果有些活它干不了(CrudRepository接口中没定义),那么只能由我们自己干了.这里要说的就是在它的框架里,如何实现自 ...

  6. Spring Data Jpa (四)注解式查询方法

    详细讲解声明式的查询方法 1 @Query详解 使用命名查询为实体声明查询是一种有效的方法,对于少量查询很有效.一般只需要关心@Query里面的value和nativeQuery的值.使用声明式JPQ ...

  7. Spring data jpa 实现简单动态查询的通用Specification方法

    本篇前提: SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法 这篇文章中的第二种方法 实现Specification 这块的方法 只适用于一个对象针对某一个固定字 ...

  8. Spring Data Jpa的四种查询方式

    一.调用接口的方式 1.基本介绍 通过调用接口里的方法查询,需要我们自定义的接口继承Spring Data Jpa规定的接口 public interface UserDao extends JpaR ...

  9. Spring Data JPA 自定义对象接收查询结果集

    Spring Data JPA 简介 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和 ...

随机推荐

  1. xBIM 高级03 更改日志创建

    系列目录    [已更新最新开发文章,点击查看详细]  模型中发生的每一个变化都是事务的一部分,这是我们设计的核心.所有事务都是由 IModel 的实现创建的,并且从中被弱引用,因此当使用 using ...

  2. 解决django.db.utils.InternalError: (1049, "Unknown database 'exam_db'")

    先检查seeting数据库配置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'eaxm_db', ' ...

  3. (转载)7个去伪存真的JavaScript面试题

    7个去伪存真的JavaScript面试题 上周,我发表了<C#程序员的7个面试问题>.这次我要说的是如何淘汰那些滥竽充数的JavaScript程序员. 作者:小峰来源:码农网|2015-0 ...

  4. poj1170 - 转换成背包

    题目链接 有5种物品,给出每个物品的单价. 给出几个这些物品的组合和这个组合的价格.买组合要比一件件的买便宜. 问给定的购买计划最少花多少钱. ---------------------------- ...

  5. windows2008 虚拟机64位的操作系统安装32位的应用程序

    64位的操作系统安装32位的应用程序: 安装成功但是使用有问题 报错: 最终解决: 在一台物理机的win7上面安装该软件. 然后把安装好的文件全部拷贝到win2008虚拟机上面 启动,使用 多ok了! ...

  6. oracle查询之null值转化

    函数coalesce(c1,c2,c3......cn);返回第一个不为null的值

  7. java流与文件的操作 文件加密

    课后作业 1,源代码 import java.io.*; import java.nio.file.*; import java.nio.file.attribute.BasicFileAttribu ...

  8. 经典C语言编程注意点

    C/C++程序员应聘试题剖析 分中的2分.读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次.此外,还有一些面试题考查面试者敏捷的思维能力. 分析这些面试题,本身包含很 ...

  9. C++容器(二):关联容器简介

    关联容器(associative container)与顺序容器的本质区别在于:关联容器通过键(Key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素.虽然,关联容器的大部分行为 ...

  10. POJ——T 1422 Air Raid

    http://poj.org/problem?id=1422 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8579   A ...