sql >> Database >  >> NoSQL >> MongoDB

Spring Boot met MongoTemplate

Voor meer uitleg kun je zelfs beide tegelijk gebruiken.

MongoRepository is slechts een abstractielaag, zoals MongoTemplate , maar met een eenvoudigere interface.

Als u vindt dat een bewerking te ingewikkeld is met Spring query-creation , en op de een of andere manier geen gebruik wil maken van @Query (u wilt bijvoorbeeld een hint van het IDE-type bij het maken van query's), u kunt de MongoRepository uitbreiden en gebruik MongoTemplate als het vraagmechanisme.

Eerst breiden we onze repository uit met onze aangepaste interface.

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

Declareer vervolgens de interface.

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

En implementeer vervolgens onze aangepaste repository. We kunnen de MongoTemplate automatisch bedraden hier en gebruik het om de database te doorzoeken.

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

Als laatste gebruiken we de ArticleRepository .

@Service
public class ArticleServiceImpl {

    @Autowired
    private ArticleRepository articleRepository;

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


  1. golang + redis concurrency scheduler prestatieprobleem

  2. Hoe mangoeste te onderscheiden, over te slaan en samen te beperken?

  3. Mongodb groeperen op veld met $substr

  4. mongomapper geospatiale 'binnen'-query