CSVReader返回第一列的空值

时间:2016-12-28 19:32:38

标签: java spring hibernate maven opencsv

我正在研究Java程序,其中一个主要要求是上传一个csv文件,该文件将更新数据库。

当我上传一个文件期望第一列值被读取为null时,所有内容似乎都正常工作,而其余列正确填充。

这是我第一次在项目中使用spring,hibernate和maven,所以我在学习的同时学习。它可能很简单,但我已经尝试了我能想到的一切,并且非常感谢一些帮助。

public static List createMembers(CSVReader csvReader) throws Exception{   
    ColumnPositionMappingStrategy<Member> strategy = new  ColumnPositionMappingStrategy <Member>();

    strategy.setType(Member.class);

    String[] columns = new String[] {"forename","surname","dob","player", "address1","address2","address3","address4","town","county","postcode","mobile","home","work","email","otherInformation"}; 

    strategy.setColumnMapping(columns);

    CsvToBean csvToBean = new CsvToBean();
    //Set column mapping strategy
    List list = csvToBean.parse(strategy, csvReader);

    return list;
}

-

public void importCSV() throws Exception {
    CSVReader csvReader = new CSVReader(new FileReader(*filename*));
    @SuppressWarnings("rawtypes")
    List list = XXCsvToObject.createMembers(csvReader);
    //logger.info(csvReader);

    Session session = this.sessionFactory.getCurrentSession();

    for (Object object : list) {
        Member member = (Member) object;              
        session.persist(member);
        logger.info(member.toString());
    }       
}

-

@Table(name="MEMBER")
public class Member{

    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;
    private String forename;
    private String surname;
    private String dob;
    private String player;  
    private String address1;
    private String address2;
    private String address3;
    private String address4;
    private String town;
    private String county;
    private String postcode;
    private String mobile;
    private String home;
    private String work;
    private String email;
    private String otherInformation;

-

Peter Jones 23/02/2010 Y 15 Main street Peckham Peckham London SE15 3AA     331518315 Peter.jones@gmail.com
玛丽琼斯04/06/2002 Y 15主要街道Peckham Peckham伦敦SE15 3AA     576846958 mary.jones@gmail.com
John Jones 10/09/1979 N 15 Main street Peckham Peckham London SE15 3AA     576864694 john.jones@gmail.com

0 个答案:

没有答案