spring data jpa 通过对象传参

传入的对象需要用@param注解修饰,value是查询语句,countQuery是查询总数,页数语句

 @Query(nativeQuery = true, value = "select * from client " +
            "where type = 1 " +
            "and if(:#{#customer.bluury} is not null, company like CONCAT(:#{#customer.blurry},'%'),1=1) " +
            "and client.dept_id = :#{#customer.deptId} " +
            "and if(:#{#customer.principal} is not null,principal = :#{#customer.principal},1=1) " +
            "order by follow_time desc ",
            countQuery = "select count(1) from client " +
                    "where type = 1 " +
                    "and if(:#{#customer.bluury} is not null, company like CONCAT(:#{#customer.blurry},'%'),1=1) " +
                    "and client.dept_id = :#{#customer.deptId} " +
                    "and if(:#{#customer.principal} is not null,principal = :#{#customer.principal},1=1) " )
    Page<Client> findAllByDeptId(Pageable pageable,@Param("customer") CustomerQueryReq customer );
posted @ 2021-09-01 14:40  meng_zhao  阅读(1732)  评论(1编辑  收藏  举报