第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 java 中以通用方式編寫此方法

如何在 java 中以通用方式編寫此方法

qq_遁去的一_1 2023-06-04 11:06:47
目前,我為五個不同的類實(shí)現(xiàn)了這個方法,為五個不同的文本文件配置 FlatFileReader 并加載到數(shù)據(jù)庫表中。我想知道有沒有一種方法可以在一個常見的地方實(shí)現(xiàn)這個方法,這樣我的每個文件都會調(diào)用這個方法來配置我的閱讀器來讀取它們相應(yīng)的文件。每個文件都會發(fā)送不同的實(shí)體類來加載它們的文件。像主要實(shí)體、ChildEntity1、ChildEntity2、ChildEntity3、ChildEntity4。private void flatFileItemReaderConfig(FlatFileItemReader<PrimaryEntity> flatFileReader,        String fileName, String incomingHeader){    // set delimiter as '|'    DefaultLineMapper<PrimaryEntity> defaultLineMapper = new DefaultLineMapper<>();    DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer("|");    delimitedLineTokenizer.setNames(convertHeaderToEntityAttrib(fileName, incomingHeader));    defaultLineMapper.setLineTokenizer(delimitedLineTokenizer);    // convert each record into primaryentity    BeanWrapperFieldSetMapper<PrimaryEntity> beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper<>();    beanWrapperFieldSetMapper.setTargetType(PrimaryEntity.class);    beanWrapperFieldSetMapper.setCustomEditors(getCustomFormatters());    defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);    flatFileReader.setLineMapper(defaultLineMapper);}
查看完整描述

1 回答

?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個贊

向方法中添加泛型


private <T> void flatFileItemReaderConfig(FlatFileItemReader<T> flatFileReader, String fileName, String incomingHeader, Class<T> clazz) {


    // set delimiter as '|'

    DefaultLineMapper<T> defaultLineMapper = new DefaultLineMapper<>();


    DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer("|");

    delimitedLineTokenizer.setNames(convertHeaderToEntityAttrib(fileName, incomingHeader));

    defaultLineMapper.setLineTokenizer(delimitedLineTokenizer);


    // convert each record into primary entity

    BeanWrapperFieldSetMapper<T> beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper<>();

    beanWrapperFieldSetMapper.setTargetType(clazz);

    beanWrapperFieldSetMapper.setCustomEditors(getCustomFormatters());

    defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);

    flatFileReader.setLineMapper(defaultLineMapper);

}

如果您只想將使用限制為列出的實(shí)體,請創(chuàng)建一個由所有具體實(shí)體 ( PrimaryEntity, ChildEntity1, ChildEntity2, ChildEntity3, ChildEntity4) 實(shí)現(xiàn)的通用接口實(shí)體,并將簽名更改為


private <T extends Entity> void flatFileItemReaderConfig(...)


查看完整回答
反對 回復(fù) 2023-06-04
  • 1 回答
  • 0 關(guān)注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號