簡體   English   中英

限制JdbcPagingItemReader在Spring Batch項目中可以讀取的總記錄數

[英]Limit number of total records that a JdbcPagingItemReader can read in a Spring Batch project

我試圖讀取具有數百萬條記錄的數據庫表,因此我正在使用JdbcPagingItemReader。

但是,我現在正處於測試階段,並且嘗試限制使用JdbcPagingItemReader可以讀取的總記錄數。 我知道這應該很簡單,它只是藏在某個地方。

這是我的讀者的樣子:

   @Bean (name = "metadataItemReader")
   public ItemReader<DocumentMetadata> itemReader( @Value( "${count}" ) int count ) {

      JdbcPagingItemReader<DocumentMetadata> reader = new JdbcPagingItemReader<>();
      final SqlPagingQueryProviderFactoryBean sqlPagingQueryProviderFactoryBean = new SqlPagingQueryProviderFactoryBean();
      sqlPagingQueryProviderFactoryBean.setDataSource(dataSource);
      sqlPagingQueryProviderFactoryBean.setSelectClause("select id, file_path, file_name, extension, created_by, TO_CHAR(create_date, 'yyyy-mm-dd hh24:mi:ss') as create_date");
      sqlPagingQueryProviderFactoryBean.setFromClause("from document_metadata");
      //sqlPagingQueryProviderFactoryBean.l
      sqlPagingQueryProviderFactoryBean.setSortKey("id");
      try {
         reader.setQueryProvider(sqlPagingQueryProviderFactoryBean.getObject());
      } catch (Exception e) {
         log.error(e.getMessage());
      }
      reader.setDataSource(dataSource);
      reader.setPageSize(10);
      reader.setRowMapper( new MetadataRowMapper() );
      return reader;
   }

JdbcPagingItemReaderAbstractItemCountingItemStreamItemReader bean,它具有maxItemCount屬性,可以設置該屬性以實現所需的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM