sql >> Databáze >  >> NoSQL >> MongoDB

Jarní bota s MongoTemplate

Pro další vysvětlení můžete dokonce použít oba současně.

MongoRepository je pouze abstraktní vrstva, jako je MongoTemplate , ale s jednodušším rozhraním.

Pokud zjistíte, že provádění nějaké operace je s Spring příliš komplikované vytvoření dotazu a nějak nechce používat @Query (například chcete nápovědu typu IDE při vytváření dotazů), můžete rozšířit MongoRepository a použijte MongoTemplate jako mechanismus dotazu.

Nejprve rozšíříme naše úložiště o naše vlastní rozhraní.

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

Poté deklarujte rozhraní.

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

A poté implementujte naše vlastní úložiště. Můžeme automaticky zapojit MongoTemplate zde a použijte jej k dotazování databáze.

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

Nakonec používáme ArticleRepository .

@Service
public class ArticleServiceImpl {

    @Autowired
    private ArticleRepository articleRepository;

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


  1. Jak zabezpečit ClusterControl Server

  2. $multiply s Number nelze použít

  3. Načtení délky seznamu v MongoDB

  4. MongoDB 4.x Synchronizace v reálném čase s ElasticSearch 6.x +