Java CSVReader为第一列返回空值

Java CSVReader为第一列返回空值,java,spring,hibernate,maven,opencsv,Java,Spring,Hibernate,Maven,Opencsv,我正在开发一个Java程序,其中一个主要要求是上传一个csv文件,该文件将更新数据库 当我上传一个文件时,一切似乎都很正常,除了每一行,第一列的值被读取为null,而其余的列被正确填充 这是我第一次在项目中使用spring、hibernate和maven,所以我边学习边学习。这可能很简单,但我已经尝试了我能想到的一切,非常感谢你的帮助 public static List createMembers(CSVReader csvReader) throws Exception{ Co

我正在开发一个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;
}
--

--

Peter Jones 2010年2月23日Y 15大街Peckham Peckham伦敦SE15 3AA 331518315彼得。jones@gmail.com
Mary Jones 2002年6月4日Y 15大街Peckham Peckham伦敦SE15 3AA 576846958玛丽。jones@gmail.com
约翰·琼斯1979年9月10日北15号大街佩卡姆佩卡姆伦敦SE15 3AA
576864694约翰。jones@gmail.com

所以问题是,
forename
对于每个解析的对象都是空的,但是所有其他字段都包含正确的值?
成员
是否包含
名字
的setter(名称中没有任何键入)?。另外,您能在您的问题中添加一些CSV文件行吗?是的,这是正确的。在getter或setter中也没有输入错误。公共字符串getForname(){return forname;}public void setForname(String forname){this.forname=forname;}我在问题中添加了一些示例行,但这是一个输入错误:
setForname
-应该是
setForname
Wow!非常尴尬,我不会告诉你我被耽搁了多久!非常感谢!所以问题是,
forename
对于每个解析的对象都是空的,但是所有其他字段都包含正确的值?
成员
是否包含
名字
的setter(名称中没有任何键入)?。另外,您能在您的问题中添加一些CSV文件行吗?是的,这是正确的。在getter或setter中也没有输入错误。公共字符串getForname(){return forname;}public void setForname(String forname){this.forname=forname;}我在问题中添加了一些示例行,但这是一个输入错误:
setForname
-应该是
setForname
Wow!非常尴尬,我不会告诉你我被耽搁了多久!非常感谢!
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;