// 需求场景: 界面查询员工信息时,有一个查询参数是员工id列表,非必输数组
// 业务要求: 员工id列表为空时,查询全部的员工信息(共156条数据);不为空时,按照员工id列表条件查询。
Emp为对应数据库表emp(员工信息表)的实体类
// A.下面介绍在使用jpa注解@Query时的做法:
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
* ClassName: EmpDao
* Description: 员工信息Dao
* Author: PiaoYoung
* Create: 2021-04-23 20:47:52
* Version:
*/
public interface EmpDao extends BaseJpaRepository<Emp, String> {
@Query(value = "select * from emp where fid in (:paramList) or coalesce(:paramList, null) is null ", nativeQuery = true)
List<Emp> testSelect(@Param("paramList") List<String> paramList);
}
select * from emp where fid in (:paramList) or coalesce(:paramList, null) is null
这里利用了oralce中coalesce