{%hackmd BJzAwtWvp %}
# Spring Data Jpa常用關鍵字
```java
//distinct
//sql : select distinct number from test1 where number = 1
repositoryTest.findDistinctByNumber(1);
//findBy And
//sql : select * from test1 where lastname = 'test' and firstname = 'test'
repositoryTest.findByLastnameAndFirstname("test");
//findBy Or
//sql : select * from test1 where lastname = 'test' or firstname = 'test'
repositoryTest.findByLastnameOrFirstname("test", "test");
//Is Equals
//sql : select * from test1 where lastname = 'test'
repositoryTest.findByLastname("test");
repositoryTest.findByFirstnameIs("test");
repositoryTest.findByFirstnameEquals("test");
//Between
//sql : select * from test1 where number between 1 and 2
repositoryTest.findByNumberBetween(1, 2);
//LessThan
//sql : select * from test1 where number < 1
repositoryTest.findByNumberLessThan(1);
//LessThanEqual
//sql : select * from test1 where number <= 1
repositoryTest.findByNumberLessThanEqual(1);
//GreaterThan
//sql : select * from test1 where number > 1
repositoryTest.findByNumberGreaterThan(1);
//GreaterThanEqual
//sql : select * from test1 where number >= 1
repositoryTest.findByNumberGreaterThanEqual(1);
//After
//sql : select * from test1 where date > '2020-01-01'
repositoryTest.findByDateAfter("2020-01-01");
//Before
//sql : select * from test1 where date < '2020-01-01'
repositoryTest.findByDateBefore("2020-01-01");
//IsNull
//sql : select * from test1 where date is null
repositoryTest.findByDateIsNull();
//IsNotNull,NotNull
//sql : select * from test1 where date is not null
repositoryTest.findByDateIsNotNull();
repositoryTest.findByDateNotNull();
//Like
//sql : select * from test1 where lastname like '%test%'
repositoryTest.findByLastnameLike("%test%");
//NotLike
//sql : select * from test1 where lastname not like '%test%'
repositoryTest.findByLastnameNotLike("%test%");
//StartingWith
//sql : select * from test1 where lastname like 'test%'
repositoryTest.findByLastnameStartingWith("test");
//EndingWith
//sql : select * from test1 where lastname like '%test'
repositoryTest.findByLastnameEndingWith("test");
//Containing
//sql : select * from test1 where lastname like '%test%'
repositoryTest.findByLastnameContaining("test");
//OrderBy
//sql : select * from test1 order by number desc
repositoryTest.findByOrderByNumberDesc();
//Not
//sql : select * from test1 where number != 1
repositoryTest.findByNumberNot(1);
//In
//sql : select * from test1 where number in (1,2,3)
repositoryTest.findByNumberIn(1, 2, 3);
//NotIn
//sql : select * from test1 where number not in (1,2,3)
repositoryTest.findByNumberNotIn(1, 2, 3);
//True
//sql : select * from test1 where is_delete = true
repositoryTest.findByIsDeleteTrue();
//False
//sql : select * from test1 where is_delete = false
repositoryTest.findByIsDeleteFalse();
//IgnoreCase
//sql : select * from test1 where UPPER(lastname) = UPPER('test')
repositoryTest.findByLastnameIgnoreCase("test");
//Top
//sql : select * from test1 limit 1
repositoryTest.findTopBy();
//Top10ByLastName
//sql : select * from test1 where lastname = 'test' limit 10
repositoryTest.findTop10ByLastname("test");
//save
//sql : insert into test1 (firstname,lastname,number,date,is_delete) values ('test','test',1,'2020-01-01',false)
repositoryTest.save(test1);
//deleteById
//sql : delete from test1 where id = 1
repositoryTest.deleteById(String.valueOf(1));
```
---
###### tags: `Java` `Spring` `springDataJpa`