Jpa使用@Query进行自定义排序规则

Controller
       import org.springframework.data.domain.Sort;
//排序列
        String property = "";
        switch (sorttype){//sorttype是前端传入的参数
    case 1:property="name";//根据姓名排序
            case 2:property="sex";//根据性别排序
            case 3:property="stuno";//根据学号排序
                default:
                    property="id";//根据id排序
        }
        Sort.Order order = new Sort.Order(Sort.Direction.DESC,property);
        Sort sort = new Sort(order);

        List list =  service.queryStudentSortByProperty(sort);


Service

      @Query(value="select * from student order by ?#{#sort}" , nativeQuery = true)
      List queryStudentSortByProperty(Sort sort);

你可能感兴趣的:(Jpa使用@Query进行自定义排序规则)