Java 如何使用SpringJPA编写查询,从数据库中获取与我们传递的字符串匹配的所有行?

Java 如何使用SpringJPA编写查询,从数据库中获取与我们传递的字符串匹配的所有行?,java,spring-boot,spring-data-jpa,Java,Spring Boot,Spring Data Jpa,嗨,我是春天靴子的新手。我有一个具有以下属性的表:id、firstName、secondName、lastName 现在我需要在存储库中编写一个查询,以查找表中firstName、secondName或lastName与我传递的字符串匹配的所有行 如果我传递'foo',那么它应该搜索所有三列,并返回其中任何一列中有'foo'的行。这是模式匹配 我该怎么做?提前谢谢 您可以尝试使用以下代码 public List<Employee> findByFirstNameIgnoreCaseC

嗨,我是春天靴子的新手。我有一个具有以下属性的表:id、firstName、secondName、lastName

现在我需要在存储库中编写一个查询,以查找表中firstName、secondName或lastName与我传递的字符串匹配的所有行

如果我传递'foo',那么它应该搜索所有三列,并返回其中任何一列中有'foo'的行。这是模式匹配


我该怎么做?提前谢谢

您可以尝试使用以下代码

public List<Employee> findByFirstNameIgnoreCaseContainingOrSecondNameIgnoreCaseContainingOrLastNameIgnoreCaseContaining(String firstName,String secondName,String lastName);
您可以像这样对多个列使用Like查询

public interface UserRepository extends PagingAndSortingRepository<User,Long> {

    @Query(value="select u from User u where u.firstName = %searchtext% or u.lastName= %searchtext% or u.secondName= %searchtext%")    
    Page<User> findByAllColumns(@Param("searchtext") String searchtext, Pageable pageable);
}

您可以像这样尝试FindByFirstNameLikeOrlLastNameLikeString名称,存储库中的字符串名称?这是否回答了您的问题@AbinashGhosh我试过。。我得到了这个错误:无法为方法public abstract java.util.List com.example.project.core.repository.PersonRepository.findByFirstNameLikeOrLastNameLikejava.lang.String创建查询!null:NoTouchElementException我只是给你一个不精确的查询示例,然后根据需要更改我的回答