查询关键字 Containing、IsContaining、Contains 之间的区别,就像 Spring Data JPA 中一样
Posted
技术标签:
【中文标题】查询关键字 Containing、IsContaining、Contains 之间的区别,就像 Spring Data JPA 中一样【英文标题】:Difference between Query keywords Containing, IsContaining, Contains, Like in Spring Data JPA 【发布时间】:2021-11-02 05:03:24 【问题描述】:Spring Data中查询关键字Containing
、IsContaining
、Contains
、Like
有什么区别?
List<T> findBy...Containing();
List<T> findBy...Contains();
List<T> findBy...IsContaining();
List<T> findBy...Like();
【问题讨论】:
【参考方案1】:IsContaining
、Containing
和 Contains
几乎相同。
例如,
List<Employee> findByNameContaining(String name);
List<Employee> findByNameContains(String name);
List<Employee> findByNameIsContaining(String name);
对于以上所有方法,spring data 将创建带有LIKE
子句的查询,其中值将被包裹在%
中,如下所示Name = ABC
时的查询
SELECT * FROM Employee WHERE Name LIKE '%ABC%'
而在Like
方法中,用户需要显式添加通配符。
例如,
List<T> findByNameLike(String name);
当Name = ABC
Name = ABC
时,spring data 将创建类似于以下查询的查询
SELECT * FROM Employee WHERE Name LIKE 'ABC'
【讨论】:
以上是关于查询关键字 Containing、IsContaining、Contains 之间的区别,就像 Spring Data JPA 中一样的主要内容,如果未能解决你的问题,请参考以下文章
引起:java.lang.IllegalArgumentException: CONTAINING (1): [IsContaining, Containing, Contains]不支持redis查
linux安装svn时出现configure: error: could not find library containing RSA_new