您现在的位置是:首页 > java技术交流java技术交流
spring data jpa 自定义查询自动解析
上善若水2021-01-29 13:38:45【java技术交流】 3499人已围观
简介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)
随机图文
-
springboot apache.commons 上传和导出csv
csv是一种常用的表格数据,一般相比excel更加高效,在工作中大量使用,最近尝试了下使用commons-csv导出csv文件,我只是搬运工! 准备工作首先搭建一个简单springboot项目 -
spring data jpa 自定义查询自动解析
JpaRepositoryg会自动解析编写的接口,直接实现里面的方法.直接调用直接可用,还是非常强大的.规则: findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写) -
哄老婆开心的笑话,爆笑小笑话,逗女友开心
1、开学第一天我就把同桌打了一顿,老师说要我叫家长。我说:没事,我自己一个人就能打赢他!2、一同学发说说:“请问一下,学校军训的枪是自己带还是学校发啊?在线等。。。”我在下面回复道:“都是自己带的,我家没有,你家要是枪多的话,帮我带一把!”3、老婆不知为何突然生气骂我,我哄了半天她才冷静下来问:“你现在知道你错在哪里了吗?”我怒道:“你什么意思?难道我没有错就不能被你骂了?”4、晚上和 -
5个最搞笑儿童笑话:欢迎收听肖邦和贝多芬合奏的东北大秧歌
1.一天,一对父子在收音机旁听音乐。儿子说:'萧邦的曲子真好听。'父亲大叫道:'笨蛋,这明明是贝多芬的交响曲。'就在他们争论不休时,收音机里的播音员说:'您刚才收听到的是东北大秧歌。'2.儿子:'妈,什么叫唯唯诺诺的人?'妈妈:'就是那些从不发表自己的意见,嘴里常说'对,对,对'的人。孩子他爸,我说得对吗?'爸爸:'对,对,对。'儿童笑话3.本地电视一个节目,主持人