sql >> データベース >  >> NoSQL >> MongoDB

MongoTemplateを使用したSpringBoot

    詳細については、両方を同時に使用することもできます。

    MongoRepository MongoTemplateのような単なる抽象化レイヤーです 、ただし、よりシンプルなインターフェイスを使用します。

    Spring query-creation 、そしてどういうわけか @Query (たとえば、クエリを作成するときにIDEタイプのヒントが必要な場合)、MongoRepositoryを拡張できます。 MongoTemplateを使用します クエリメカニズムとして。

    まず、カスタムインターフェースを使用してリポジトリを拡張します。

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

    次に、インターフェースを宣言します。

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

    次に、カスタムリポジトリを実装します。 MongoTemplateを自動配線できます ここで、それを使用してデータベースにクエリを実行します。

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

    最後に、ArticleRepositoryを使用します 。

    @Service
    public class ArticleServiceImpl {
    
        @Autowired
        private ArticleRepository articleRepository;
    
        public List<Article> getArticleByPage() {
            return articleRepository.getArticleFilteredByPage(1, 10);
        }
    }
    


    1. UbuntuにインストールされているMongoDBのバージョン

    2. MongoDB-接続のオープンとクローズ-グッドプラクティスのアドバイス

    3. MongoClient v3.0を使用する場合、db.collectionは関数ではありません

    4. 空の角かっこは、JavaScriptで変数値として何を表しますか?