MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wiosenne buty z MongoTemplate

W celu uzyskania dalszych wyjaśnień możesz nawet używać obu jednocześnie.

MongoRepository to tylko warstwa abstrakcji, jak MongoTemplate , ale z prostszym interfejsem.

Jeśli okaże się, że wykonywanie jakiejś operacji jest zbyt skomplikowane ze Springiem tworzenie-zapytania i jakoś nie chce używać @Query (na przykład, potrzebujesz podpowiedzi typu IDE podczas konstruowania zapytań), możesz rozszerzyć MongoRepository i użyj MongoTemplate jako mechanizm zapytania.

Najpierw rozszerzamy nasze repozytorium o nasz niestandardowy interfejs.

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

Następnie zadeklaruj interfejs.

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

A następnie zaimplementuj nasze niestandardowe repozytorium. Możemy automatycznie połączyć MongoTemplate tutaj i użyj go do przeszukiwania bazy danych.

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);
    }
}

Na koniec używamy 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. SQLite na Androida i MongoDB z synchronizacją

  2. Strategie szybkiego wyszukiwania miliardów małych dokumentów w MongoDB

  3. MongoDB GridFS - Czy to nazwa pliku czy nazwa pliku?

  4. Jak usunąć wiele kolekcji mongodb naraz?

  5. Najbardziej wydajny sposób na uzyskanie całej wartości pola w MongoDB i Node.js