springboot JPA的JPQL中判断查询条件是否为空
springboot JPA的JPQL中判断查询条件是否为空
环境:
springboot postgres
controller:
    @PostMapping("/demo/Demo01")
    public List<Employee> Demo01(@RequestBody Employee emp){
        return empService.Demo01(emp.getEmpName(),emp.getAge());
    }service:
    public List<Employee> Demo01(String empName, int age) {
        return employeeRepository.Demo01(empName,age);
    }repository:
    @Query(nativeQuery=true,value="select * from Employee where 1=1 and "
            + " case when :empName is not null and :empName!='' then emp_Name = :empName else 1=1 end "
            + " and "
            + " case when :age>0 then age=:age else 1=1 end ")
    List<Employee> Demo01(@Param("empName")String empName, @Param("age")int age);核心处理的地方: