CommentRepository.java 1.6 KB
Newer Older
1 2 3 4 5 6
package cn.itcast.article.dao;

import cn.itcast.article.po.Comment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;
7
import org.springframework.data.mongodb.repository.Query;
8

9
import java.util.List;
10

11 12 13 14 15 16 17 18 19
public interface CommentRepository extends MongoRepository<Comment, String> {
    /**
     * findByUserid的Userid一定要和参数一致
     *
     * @param userid
     * @param pageable
     * @return
     */
    Page<Comment> findByUserid(String userid, Pageable pageable);
20

21 22 23 24 25 26 27 28 29
    /**
     * 多字段查询
     *
     * @param userid
     * @param likenum
     * @param pageable
     * @return
     */
    Page<Comment> findByUseridAndLikenum(String userid, Integer likenum, Pageable pageable);
30

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
    /**
     * 查询userid固定值,并且likenum大于等于的文档
     *
     * @param userid
     * @param likenum
     * @param pageable
     * @return
     */
    Page<Comment> findByUseridContainingAndLikenumGreaterThanEqual(String userid, Integer likenum, Pageable pageable);


    /**
     * 正则查询
     * 使用了@Query注解来指定查询语句。在查询语句中,
     * 使用了$regex操作符表示name匹配正则表达式,使用了$options选项表示不区分大小写,使用了$gte操作符表示age大于等于指定值。
     *
     * @param userid
     * @param likenum
     * @return
     */
    @Query("{ 'userid' : { $regex: ?0, $options: 'i' }, 'likenum' : { $gte: ?1 } }")
    List<Comment> findByUseridAndLikenum(String userid, Integer likenum);
}