Java CSVReader为第一列返回空值
我正在开发一个Java程序,其中一个主要要求是上传一个csv文件,该文件将更新数据库 当我上传一个文件时,一切似乎都很正常,除了每一行,第一列的值被读取为null,而其余的列被正确填充 这是我第一次在项目中使用spring、hibernate和maven,所以我边学习边学习。这可能很简单,但我已经尝试了我能想到的一切,非常感谢你的帮助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
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.comMary 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;