文章字数:236,阅读全文大约需要1分钟
常用规则
NO | 关键词 | 实例 | sql |
---|---|---|---|
1 | And | findByNameAndAge | where name=?1 and age=?2 |
2 | Or | findByLastnameOrFirstname | where lastname=?1 or firstname=2? |
3 | Is,Equals | findByFirstnameIs;等于findByFirstname | where name=?1 |
4 | Between | findByStartDateBetween | where startDate between ?1 and ?2 |
5 | LessThan | findByAgeLessThan | where age < ?1 |
6 | LessThanEqual | findByAgeLessThanEqual | where age<= ?1 |
7 | GreaterThan | findByAgeGreaterThan | where age >?1 |
8 | GreaterThanEqual | findByAgeGreaterThanEqual | where age >= ?1 |
9 | After | findByStartDateAfter | where startDate > ?1 |
10 | Before | findByStartDateBefore | where startDate < ?1 |
11 | IsNull | findByAgeIsNull | where age is null |
12 | IsNotNull/NotNull | findByAge(Is)NotNull | where age not null |
13 | Like | findByFirstnameLike | where firstname like ?1 |
14 | NotLike | findByFirstnameNotLike | where firstname not like ?1 |
15 | StartingWith | findByFirstnameStartingWith | where firstname like ?1(参数前加上%) |
16 | EndingWith | findByFirstnameEndingWith | where firstname like ?1(参数后加%) |
17 | Containing | findByFirstnameContaining | where first like ?1(参数前后%) |
18 | OrderBy | findByAgeOrderByLastNameDesc | where age = ?1 order by lastname desc |
19 | Not | findByLastnameNot | where lastname != ?1 |
20 | In | findByAgeIn(Collection |
where age in ?1 |
21 | NotIn | findByAgeNotIn(Collection |
where age not in ?1 |
22 | TRUE | findByActiveTrue() | where active = true |
23 | FALSE | findByActiveFalse() | where active=false |
24 | IgnoreCase(忽略大小写) | findByFirsrnameIgnoreCase | where UPPER(firstname) = UPPER(?1)//转为大写 |
25 | existsBy | existsByUserId(long userId) | where exists(..where userid=?1) |
排序分页
方法最后一个参数是Sort
或者Pageable
会提取信息进行排序或分页
1 | import org.springframework.data.domain.Page; |
- 排序
1
2
3List<Cus> findBySexOrderByName(String sex); //名称正序(正序时,推荐此方式,简单)
List<Cus> findBySexOrderByNameAsc(String sex); //名称正序(效果同上)
List<Cus> findBySexOrderByNameDesc(String sex); //名称倒序 - 条数限制
1
2
3
4
5
6
7
8
9
10
11
12
13Resource 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); - 计数
1
Long countByLastname(String lastname);
- 删除
1
2void deleteByProject_Id(Long id);
void deleteByProject_Cus_id(Long id);