您现在的位置是:首页 > java技术交流java技术交流
spring data jpa 自定义查询自动解析
上善若水2021-01-29 13:38:45【java技术交流】 3386人已围观
简介JpaRepositoryg会自动解析编写的接口,直接实现里面的方法.直接调用直接可用,还是非常强大的.规则: findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写)
JpaRepositoryg会自动解析编写的接口,直接实现里面的方法.直接调用直接可用,还是非常强大的.
规则:
findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写)
@Repository
public interface ArticleRepository extends JpaRepository<Article, Integer> {
List<Article> findByTitle(String title);
List<Article> findByTitleLike(String title);
List<Article> findByCreateTimeBetween(LocalDateTime start, LocalDateTime end);
List<Article> findByCreateTimeGreaterThanEqual(LocalDateTime start);
List<Article> findByCreateTimeNotNull();
}
@Test
public void testFindByTitle(){
List<Article> articles = articleRepository.findByTitle("该如何才能成功");
}
@Test
public void testFindByTitleLike(){
List<Article> articles = articleRepository.findByTitleLike("该如何"+'%');
}
@Test
public void testFindByCreateTimeBetween(){
LocalDateTime start=LocalDateTime.of(2019, Month.DECEMBER,17,16,39,44);
LocalDateTime end=LocalDateTime.parse("2020-12-17 16:39:44", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
List<Article> articles = articleRepository.findByCreateTimeBetween(start,end);
}
@Test
public void testFindByCreateTimeCreateTimeAfter(){
LocalDateTime start=LocalDateTime.of(2019, Month.DECEMBER,17,16,39,44);
List<Article> articles = articleRepository.findByCreateTimeGreaterThanEqual(start);
}
@Test
public void testFindByCreateTimeNotNull(){
List<Article> articles = articleRepository.findByCreateTimeNotNull();
}
都是可以正常调用的.不存在这种findByCreateTimeAfterEqual
大于等于的写法,程序会运行不起来
关键字 | 方法命名 | sql where 字句 |
---|---|---|
And | findByNameAndPwd | where name= ? and pwd =? |
Or | findByNameOrSex | where name= ? or sex=? |
Is,Equal | findById, | findByIdEquals |
Between | findByIdBetween | where id between ? and ? |
LessThan | findByIdLessThan | where id < ? |
LessThanEqual | findByIdLessThanEquals | where id <= ? |
GreaterThan | findByIdGreaterThan | where id > ? |
GreaterThanEqual | findByIdGreaterThanEquals | where id > = ? |
After | findByIdAfter | where id > ? |
Before | findByIdBefore | where id < ? |
IsNull | findByNameIsNull | where name is null |
isNotNull,Not Null | findByNameNotNull | where name is not |
Like | findByNameLike | where name like ? |
NotLike | findByNameNotLike | where name not like ? |
StartingWith | findByNameStartingWith | where name like ‘?%’ |
EndingWith | findByNameEndingWith | where name like ‘%?’ |
Containing | findByNameContaining | where name like ‘%?%’ |
OrderBy | findByIdOrderByXDesc | where id=? order by x desc |
Not | findByNameNot | where name <> ? |
In | findByIdIn(Collection<?> c) | where id in (?) |
NotIn | findByIdNotIn(Collection<?> c) | where id not in (?) |
TRUE | findByAaaTue | where aaa = true |
FALSE | findByAaaFalse | where aaa = false |
IgnoreCase | findByNameIgnoreCase | where UPPER(name)=UPPER(?) |
Tags: jpa
很赞哦! (1)
随机图文
-
下个闰月是什么时候 下个一月到十二月闰月汇总 想过两个生日的看过来
网上最全闰月时间整理,想看下个闰月是什么时候,一共可以过多少个闰月生日看过来,下个一月到十二月闰月汇总 想过两个生日一定不要错过. 闰正月下一个闰正月是2262年近些年闰正月日期 1651年 226 -
'com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor' is deprecated idea提示被弃用
‘com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor’isdeprecatedidea提示被弃用,今天升级了myba -
php获取当前目录名 获取文件所在文件夹名 非全路径名
php获取当前文件所里目录名,获取文件所在文件夹名,仅仅获取父级目录名,非全路径名,使用php自带文件函数获取当前文件名.必如我们有一个文件H:\图片\[黑川鹤子]兔女郎\1.jpg,我们要获取[黑川 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。