1、经常使用规则速查sql
1 And 而且
2 Or 或
3 Is,Equals 等于
4 Between 二者之间
5 LessThan 小于
6 LessThanEqual 小于等于
7 GreaterThan 大于
8 GreaterThanEqual 大于等于
9 After 以后(时间) >
10 Before 以前(时间) <
11 IsNull 等于Null
12 IsNotNull,NotNull 不等于Null
13 Like 模糊查询。查询件中须要本身加 %
14 NotLike 不在模糊范围内。查询件中须要本身加 %
15 StartingWith 以某开头
16 EndingWith 以某结束
17 Containing 包含某
18 OrderBy 排序
19 Not 不等于
20 In 某范围内
21 NotIn 某范围外
22 True 真
23 False 假
24 IgnoreCase 忽略大小写数据库
2、Spring Data 解析方法名--规则说明框架
一、规则描述spa
按照Spring data 定义的规则,查询方法以find|read|get开头(好比 find、findBy、read、readBy、get、getBy),涉及条件查询时,条件的属性用条件关键字链接,要注意的是:条件属性首字母需大写。框架在进行方法名解析时,会先把方法名多余的前缀截取掉,而后对剩下部分进行解析。code
若是方法的最后一个参数是 Sort 或者 Pageable 类型,也会提取相关的信息,以便按规则进行排序或者分页查询。对象
二、举例说明blog
好比 findByUserAddressZip()。框架在解析该方法时,首先剔除 findBy,而后对剩下的属性进行解析,详细规则以下(此处假设该方法针对的域对象为 AccountInfo 类型):排序
可能会存在一种特殊状况,好比 AccountInfo 包含一个 user 的属性,也有一个 userAddress 属性,此时会存在混淆。读者能够明确在属性之间加上 "_" 以显式表达意图,好比 "findByUser_AddressZip()" 或者 "findByUserAddress_Zip()"。(强烈建议:不管是否存在混淆,都要在不一样类层级之间加上"_" ,增长代码可读性)ip
3、一些状况资源
一、当查询条件为null时。
举例说明以下:
二、排序
List<Cus> findBySexOrderByName(String sex); //名称正序(正序时,推荐此方式,简单)
List<Cus> findBySexOrderByNameAsc(String sex); //名称正序(效果同上)
List<Cus> findBySexOrderByNameDesc(String sex); //名称倒序
三、结果限制
/** * 根据父ID,获得排序号最大的bo。 * 用于预计算新资源的排序号。 */ Resource findFirstByFather_idOrderByOrderNumDesc(Long fatherId);
User findFirstByOrderByLastnameAsc();
User findTopByOrderByAgeDesc();
Page<User> queryFirst10ByLastname(String lastname, Pageable pageable);
Slice<User> findTop3ByLastname(String lastname, Pageable pageable);
List<User> findFirst10ByLastname(String lastname, Sort sort);
List<User> findTop10ByLastname(String lastname, Pageable pageable);
四、计数
Long countByLastname(String lastname);
五、删除
void deleteByProject_Id(Long id);
void deleteByProject_Cus_id(Long id);