【问题标题】:Difference between Query keywords Containing, IsContaining, Contains, Like in Spring Data JPA查询关键字 Containing、IsContaining、Contains 之间的区别,就像 Spring Data JPA 中一样
【发布时间】:2021-11-02 05:03:24
【问题描述】:

Spring Data中查询关键字ContainingIsContainingContainsLike有什么区别?

List<T> findBy...Containing();
List<T> findBy...Contains();
List<T> findBy...IsContaining();
List<T> findBy...Like();

【问题讨论】:

    标签: java spring spring-boot spring-mvc spring-data-jpa


    【解决方案1】:

    IsContainingContainingContains 几乎相同。

    例如,

    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 = ABCName = ABC时,spring data 将创建类似于以下查询的查询

    SELECT * FROM Employee WHERE Name LIKE 'ABC'
    

    【讨论】:

      猜你喜欢
      • 2019-04-07
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      相关资源
      最近更新 更多