您现在的位置是:首页 > java技术交流java技术交流
spring data jpa 自定义查询自动解析
上善若水2021-01-29 13:38:45【java技术交流】 3358人已围观
简介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)
随机图文
-
PHP8.1新特性 纤程
PHP8.1新特性 (PHP 8 >= 8.1.0)官方教程:https://www.php.net/manual/zh/language.fibers.php 纤程(Fiber)表示一组有完整栈、可 -
php 自己打包一个composer包
今天尝试自己自己封装一个包,以后就可以直接composer安装方便复用,一开始看到别人有将官方提供 的包给做成composer包,方便使用,记录下自己的过成. 首先准备一个已经初始话过的仓库地址 并 -
程序员的十大经典口头禅你知道吗
程序员的口头禅是什么,来看看程序猿们经典的口头禅~小白级:1.这个不是我做的。2.刚才还好好的呢,怎么不行了呢?3.本地可以正常运行啊!4.我的电脑上正常的啊!5.卧槽?我什么都没改啊,又正常运行了? -
笑话15则,总有一则逗笑你!
1、地上有一张50元,一张100元,你会捡哪张?答:当然100的那张呗.... 2、在街边报亭买烟,“其他地方都卖21块,为什么你这里要卖23?”我质问老板。 “小伙子,我看你长得帅,收多你两块钱很过分吗?” 这个怎么应付,我得想想!!! 3、高考查成绩的时候,我直接被大专录取了! 于是老爸一高兴,就直接送了辆玛莎拉蒂给我。 开学后我开着玛莎拉蒂上学,室友们第一次见名车。 很激动,纷