package com.rongyichuang.carousel.repository;
|
|
import com.rongyichuang.carousel.entity.Carousel;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.repository.query.Param;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
/**
|
* 轮播图数据访问层
|
*/
|
@Repository
|
public interface CarouselRepository extends JpaRepository<Carousel, Long> {
|
|
/**
|
* 根据标题模糊查询轮播图(分页)
|
*/
|
@Query("SELECT c FROM Carousel c WHERE (:title IS NULL OR c.title LIKE %:title%) ORDER BY c.sortOrder ASC, c.createTime DESC")
|
Page<Carousel> findByTitleContaining(@Param("title") String title, Pageable pageable);
|
|
/**
|
* 获取播放列表(按播放顺序排序)
|
*/
|
@Query("SELECT c FROM Carousel c WHERE c.sortOrder IS NOT NULL ORDER BY c.sortOrder ASC")
|
List<Carousel> findPlayList();
|
|
/**
|
* 查询所有轮播图(按播放顺序和创建时间排序)
|
*/
|
@Query("SELECT c FROM Carousel c ORDER BY c.sortOrder ASC, c.createTime DESC")
|
List<Carousel> findAllOrderBySortOrder();
|
}
|