MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Khởi động mùa xuân với MongoTemplate

Để được giải thích thêm, bạn thậm chí có thể sử dụng cả hai cùng một lúc.

MongoRepository chỉ là một lớp trừu tượng, như MongoTemplate , nhưng với giao diện đơn giản hơn.

Nếu bạn thấy việc thực hiện một số loại thao tác quá phức tạp với Spring truy vấn-tạo và bằng cách nào đó không muốn sử dụng @Query (ví dụ:bạn muốn gợi ý loại IDE khi tạo truy vấn), bạn có thể mở rộng MongoRepository và sử dụng MongoTemplate làm cơ chế truy vấn.

Đầu tiên, chúng tôi mở rộng kho lưu trữ của mình với giao diện tùy chỉnh của chúng tôi.

@Repository
public interface ArticleRepository extends MongoRepository<Article, String>, CustomArticleRepository {
}

Sau đó khai báo giao diện.

public interface CustomArticleRepository {
    List<Article> getArticleFilteredByPage(int page, int num);
}

Và sau đó triển khai kho lưu trữ tùy chỉnh của chúng tôi. Chúng tôi có thể tự động kích hoạt MongoTemplate tại đây và sử dụng nó để truy vấn cơ sở dữ liệu.

public class CustomArticleRepositoryImpl implements CustomArticleRepository {

    @Autowired
    MongoTemplate mongoTemplate;

    @Override
    public List<Article> getArticleFilteredByPage(int page, int num) {
        return mongoTemplate.findAll(Article.class)
                .skip(page * num)
                .take(num);
    }
}

Cuối cùng, chúng tôi sử dụng ArticleRepository .

@Service
public class ArticleServiceImpl {

    @Autowired
    private ArticleRepository articleRepository;

    public List<Article> getArticleByPage() {
        return articleRepository.getArticleFilteredByPage(1, 10);
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB không hoạt động với PHP trên WAMP

  2. tìm và đếm trong một truy vấn mongodb

  3. Không thể pha cài đặt mongodb trên mac OS 10.12

  4. Sắp xếp tùy chỉnh MongoDB

  5. MongoDB có giao diện REST gốc không?