jpa模糊查询(表中的某些数据)
业务代码
Controller
@GetMapping({"/task/project"})
public ResponseEntity findByProjectTitle(@RequestParam(required = false, defaultValue = "") String title) {
return ResponseEntity.ok(projectService.findAllByUserPidAndProjectTitleLikeAndVersionIs(getOperatorId(), title));
}
Service
@Transactional(readOnly = true)
public List findAllByUserPidAndProjectTitleLikeAndVersionIs(String operatorId, String title) {
title = StringUtils.hasText(title) ? "%" + title + "%" : "%%";
return repository.findAllByUserPidAndProjectTitleLikeAndVersionIs(operatorId, title, 3, ProjectInfoRepository.ProjectSimpleInfo.class);
}
此方法findAllByUserPidAndProjectTitleLikeAndVersionIs(operatorId, title, 3, ProjectInfoRepository.ProjectSimpleInfo.class)第三个参数
ProjectRepository
public interface ProjectInfoRepository extends JpaRepository, JpaSpecificationExecutor, ProjectInfoCustomRepository {
List findAllByUserPidAndProjectTitleLikeAndVersionIs(String userPid, String projectTitle, Integer version, Class type);
Optional findByPid(String pid);
interface ProjectSimpleInfo {
String getPid();
String getProjectTitle();
}
}
Repository
List findAllByUserPidAndProjectTitleLikeAndVersionIs(String userPid, String projectTitle, Integer version, Class type);